-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Dart_New cannot allocate using redirecting factory constructors in abstract classes #33041
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@peter-ahe-google, is this related to #29841? This is the kernel I'm seeing:
|
That looks like the same problem. Basically, the way we represent redirecting factory constructors, they can't be invoked via any reflective API such as Here's the location of the first error, line 4733 and here is the source code of the program. /cc @stefantsov |
The current status for redirecting factory constructors is the following. Redirecting factory constructors are represented using let-nodes and invalid-expressions. There exists a first-class representations for it, but fasta doesn't currently produce that because the patching mechanism should be fixed first (we need to patch procedures with redirecting factories and redirecting factories with procedures; currently, we can only patch members with the same kind of members). The work was deprioritized at some point, but I plan to get back to it soon. After the work will be done, we'll have a representation that is easy to parse at the backends and resolve the final target of the invocation. |
Any update on this @stefantsov ? |
Unfortunately, I don't have an answer right now. I'm currently working on adding support for more compile-time errors related to type arguments. I plan to work on this issue in the next week. |
Sorry to ping you again @stefantsov, but has there been any progress on this? |
Not much of a progress @bkonyi, sorry. I did have a few discussions about the issue on the both sides: the front-end and the VM, and it looks like it would be better to fix the representation of redirecting factories issued by the compiler, so that the VM doesn't have to pattern-match on the how they are represented currently. I've created an issue for the blocker: #33495. Could you please assign a priority to this issue as well as for the blocker? |
After talking with @bkonyi , moving to Dart 2.1 . |
Issue #33495 on which this issue is dependent on is not slated for a fix in Dart 2.1, moving the milestone of this issue to reflect that. |
Just going to clear the milestone for this issue as there's no sign of it being resolved anytime soon. @stefantsov do you know if there's any update on this? |
cc @johnniwinther it looks like this is still an issue. |
Yes, we still need a fix for #33495 |
The text was updated successfully, but these errors were encountered: