You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unexpected tree in genLoad: TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class<empty>)),module classTest$)),classTest$Config)]/classdotty.tools.dotc.ast.Trees$TypeTreeat: <68..68>
java.lang.RuntimeException:Unexpected tree in genLoad: TypeTree[TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,module class<empty>)),module classTest$)),classTest$Config)]/classdotty.tools.dotc.ast.Trees$TypeTreeat: <68..68>
at dotty.tools.backend.jvm.DottyBackendInterface.abort(DottyBackendInterface.scala:390)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:433)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:263)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadQualifier(BCodeBodyBuilder.scala:1012)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genNormalMethodCall$1(BCodeBodyBuilder.scala:784)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genApply(BCodeBodyBuilder.scala:816)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:339)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genStat(BCodeBodyBuilder.scala:83)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.$anonfun$genBlock$1(BCodeBodyBuilder.scala:920)
...
The text was updated successfully, but these errors were encountered:
biboudis
changed the title
Backend crash when passing a field projection after a new at an inline method
Backend crash when passing a field projection with a new at an inline method
Apr 18, 2019
Is this the correct SingletonType? Should it be considered even Singleton given that it has an unstable prefix? Should it have been just the ConstantType 3?
biboudis
added a commit
to dotty-staging/dotty
that referenced
this issue
Apr 25, 2019
There is some confusion on terms that needs to be fixed.
Step 1: Make `SimplyPure apply to paths only.
The only point where it is used is in eta expansion to answer the question
whether in a partial application `f(e, _)` the expression `e` should be
lifted out, giving `{ val x = e; y => f(x, y) }` instead of `y => f(e, y)`.
With the change, closures and new expressions are never simply pure, so
are always lifted out. This can reduce the number of allocations, if the
lambda is applied several times.
The text was updated successfully, but these errors were encountered: