Skip to content

IDE sometimes finds a type that is aliased to itself which triggers an assertion #2907

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

Closed
jvican opened this issue Jul 23, 2017 · 4 comments
Closed

Comments

@jvican
Copy link
Member

jvican commented Jul 23, 2017

Go to SignedName defined in NameKinds.scala. Find all references of that symbol. IDE fails and the language server reports the following error:

[info] failure while taking result signature of => ... @uncheckedVariance: ... @uncheckedVariance
[error] java.lang.AssertionError: assertion failed: TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T) / AnnotatedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T),ConcreteAnnotation(Apply(Select(New(Ident(uncheckedVariance)),<init>),List())))
[error] 	at scala.Predef$.assert(Predef.scala:170)
[error] 	at dotty.tools.dotc.core.Types$Type.isRef(Types.scala:129)
[error] 	at dotty.tools.dotc.core.Types$MethodicType.resultSignature(Types.scala:2449)
[error] 	at dotty.tools.dotc.core.Types$ExprType.computeSignature(Types.scala:2472)
[error] 	at dotty.tools.dotc.core.Types$MethodicType.signature(Types.scala:2460)
[error] 	at dotty.tools.dotc.core.Types$ExprType.signature(Types.scala:2468)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.signature(Denotations.scala:607)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.matches(Denotations.scala:985)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.filterDisjoint(Denotations.scala:992)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.mapInherited(Denotations.scala:996)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.mapInherited(Denotations.scala:993)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1568)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.op$9(SymDenotations.scala:1576)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.computeNPMembersNamed(SymDenotations.scala:1555)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.nonPrivateMembersNamed(SymDenotations.scala:1545)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.membersNamed(SymDenotations.scala:1532)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.findMember(SymDenotations.scala:1580)
[error] 	at dotty.tools.dotc.core.Types$Type.go$1(Types.scala:484)
[error] 	at dotty.tools.dotc.core.Types$Type.findMember(Types.scala:639)
[error] 	at dotty.tools.dotc.core.Types$Type.memberExcluding(Types.scala:467)
[error] 	at dotty.tools.dotc.core.Types$Type.op$25(Types.scala:451)
[error] 	at dotty.tools.dotc.core.Types$Type.member(Types.scala:450)
[error] 	at dotty.tools.dotc.core.Types$NamedType.asMemberOf(Types.scala:1689)
[error] 	at dotty.tools.dotc.core.Types$NamedType.loadDenot(Types.scala:1676)
[error] 	at dotty.tools.dotc.core.Types$TermRefWithSignature.loadDenot(Types.scala:1880)
[error] 	at dotty.tools.dotc.core.Types$NamedType.computeDenot(Types.scala:1552)
[error] 	at dotty.tools.dotc.core.Types$NamedType.denotAt(Types.scala:1525)
[error] 	at dotty.tools.dotc.core.Types$NamedType.denot(Types.scala:1513)
[error] 	at dotty.tools.dotc.ast.Trees$DenotingTree.denot(Trees.scala:258)
[error] 	at dotty.tools.dotc.ast.Trees$Tree.symbol(Trees.scala:169)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:145)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1234)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1256)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1254)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$8(Trees.scala:1226)
[error] 	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
[error] 	at scala.collection.immutable.List.foldLeft(List.scala:84)
[error] 	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:151)
[error] 	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1226)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1240)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1254)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1262)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$8(Trees.scala:1226)
[error] 	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
[error] 	at scala.collection.immutable.List.foldLeft(List.scala:84)
[error] 	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:151)
[error] 	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1226)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1260)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1266)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1256)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1254)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1301)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$8(Trees.scala:1226)
[error] 	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
[error] 	at scala.collection.immutable.List.foldLeft(List.scala:84)
[error] 	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:151)
[error] 	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1226)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1306)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1304)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.interactive.Interactive$.namedTrees$$anonfun$3(Interactive.scala:156)
[error] 	at scala.compat.java8.JProcedure1.apply(JProcedure1.java:18)
[error] 	at scala.compat.java8.JProcedure1.apply(JProcedure1.java:10)
[error] 	at scala.collection.immutable.List.foreach(List.scala:392)
[error] 	at dotty.tools.dotc.interactive.Interactive$.namedTrees(Interactive.scala:156)
[error] 	at dotty.tools.languageserver.DottyLanguageServer.references$$anonfun$1(DottyLanguageServer.scala:248)
[error] 	at dotty.tools.languageserver.DottyLanguageServer.liftedTree1$1(DottyLanguageServer.scala:108)
[error] 	at dotty.tools.languageserver.DottyLanguageServer.computeAsync$$anonfun$1(DottyLanguageServer.scala:113)
[error] 	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
[error] 	at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
[error] 	at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
[error] 	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
[error] 	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
[error] 	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
[error] 	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
[error] Jul 23, 2017 9:10:37 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint lambda$static$0
[error] SEVERE: Internal error: java.lang.AssertionError: assertion failed: TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T) / AnnotatedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T),ConcreteAnnotation(Apply(Select(New(Ident(uncheckedVariance)),<init>),List())))
[error] java.util.concurrent.CompletionException: java.lang.AssertionError: assertion failed: TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T) / AnnotatedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T),ConcreteAnnotation(Apply(Select(New(Ident(uncheckedVariance)),<init>),List())))
[error] 	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
[error] 	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
[error] 	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:604)
[error] 	at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
[error] 	at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
[error] 	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
[error] 	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
[error] 	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
[error] 	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
[error] Caused by: java.lang.AssertionError: assertion failed: TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T) / AnnotatedType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(ThisType(TypeRef(NoPrefix,ast)),Trees$)),Tree)),dotty$tools$dotc$ast$Trees$Tree$$T),ConcreteAnnotation(Apply(Select(New(Ident(uncheckedVariance)),<init>),List())))
[error] 	at scala.Predef$.assert(Predef.scala:170)
[error] 	at dotty.tools.dotc.core.Types$Type.isRef(Types.scala:129)
[error] 	at dotty.tools.dotc.core.Types$MethodicType.resultSignature(Types.scala:2449)
[error] 	at dotty.tools.dotc.core.Types$ExprType.computeSignature(Types.scala:2472)
[error] 	at dotty.tools.dotc.core.Types$MethodicType.signature(Types.scala:2460)
[error] 	at dotty.tools.dotc.core.Types$ExprType.signature(Types.scala:2468)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.signature(Denotations.scala:607)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.matches(Denotations.scala:985)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.filterDisjoint(Denotations.scala:992)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.mapInherited(Denotations.scala:996)
[error] 	at dotty.tools.dotc.core.Denotations$SingleDenotation.mapInherited(Denotations.scala:993)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1568)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.collect$2(SymDenotations.scala:1563)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.op$9(SymDenotations.scala:1576)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.computeNPMembersNamed(SymDenotations.scala:1555)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.nonPrivateMembersNamed(SymDenotations.scala:1545)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.membersNamed(SymDenotations.scala:1532)
[error] 	at dotty.tools.dotc.core.SymDenotations$ClassDenotation.findMember(SymDenotations.scala:1580)
[error] 	at dotty.tools.dotc.core.Types$Type.go$1(Types.scala:484)
[error] 	at dotty.tools.dotc.core.Types$Type.findMember(Types.scala:639)
[error] 	at dotty.tools.dotc.core.Types$Type.memberExcluding(Types.scala:467)
[error] 	at dotty.tools.dotc.core.Types$Type.op$25(Types.scala:451)
[error] 	at dotty.tools.dotc.core.Types$Type.member(Types.scala:450)
[error] 	at dotty.tools.dotc.core.Types$NamedType.asMemberOf(Types.scala:1689)
[error] 	at dotty.tools.dotc.core.Types$NamedType.loadDenot(Types.scala:1676)
[error] 	at dotty.tools.dotc.core.Types$TermRefWithSignature.loadDenot(Types.scala:1880)
[error] 	at dotty.tools.dotc.core.Types$NamedType.computeDenot(Types.scala:1552)
[error] 	at dotty.tools.dotc.core.Types$NamedType.denotAt(Types.scala:1525)
[error] 	at dotty.tools.dotc.core.Types$NamedType.denot(Types.scala:1513)
[error] 	at dotty.tools.dotc.ast.Trees$DenotingTree.denot(Trees.scala:258)
[error] 	at dotty.tools.dotc.ast.Trees$Tree.symbol(Trees.scala:169)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:145)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1234)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1256)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1254)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$8(Trees.scala:1226)
[error] 	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
[error] 	at scala.collection.immutable.List.foldLeft(List.scala:84)
[error] 	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:151)
[error] 	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1226)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1240)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1254)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1262)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$8(Trees.scala:1226)
[error] 	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
[error] 	at scala.collection.immutable.List.foldLeft(List.scala:84)
[error] 	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:151)
[error] 	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1226)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1260)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1266)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1256)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1254)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1301)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply$$anonfun$8(Trees.scala:1226)
[error] 	at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124)
[error] 	at scala.collection.immutable.List.foldLeft(List.scala:84)
[error] 	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:151)
[error] 	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:104)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.apply(Trees.scala:1226)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1306)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.apply(Trees.scala:1326)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeAccumulator.foldOver(Trees.scala:1304)
[error] 	at dotty.tools.dotc.ast.Trees$Instance$TreeTraverser.traverseChildren(Trees.scala:1327)
[error] 	at dotty.tools.dotc.interactive.Interactive$$anon$74.traverse(Interactive.scala:154)
[error] 	at dotty.tools.dotc.interactive.Interactive$.namedTrees$$anonfun$3(Interactive.scala:156)
[error] 	at scala.compat.java8.JProcedure1.apply(JProcedure1.java:18)
[error] 	at scala.compat.java8.JProcedure1.apply(JProcedure1.java:10)
[error] 	at scala.collection.immutable.List.foreach(List.scala:392)
[error] 	at dotty.tools.dotc.interactive.Interactive$.namedTrees(Interactive.scala:156)
[error] 	at dotty.tools.languageserver.DottyLanguageServer.references$$anonfun$1(DottyLanguageServer.scala:248)
[error] 	at dotty.tools.languageserver.DottyLanguageServer.liftedTree1$1(DottyLanguageServer.scala:108)
[error] 	at dotty.tools.languageserver.DottyLanguageServer.computeAsync$$anonfun$1(DottyLanguageServer.scala:113)
[error] 	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
[error] 	... 6 more
[error] 
@smarter smarter changed the title Dotty IDE does not handle @uncheckedVariance IDE sometimes finds a type that is aliased to itself which triggers an assertion Jul 23, 2017
@smarter
Copy link
Member

smarter commented Jul 23, 2017

The problem is not actually specific to @uncheckedVariance, it's something that we've seen pop up randomly where a type is an alias to itself (the assert checks for this). It's really annoying to debug because it only happens rarely and it's not reproducible (I tried your instructions and couldn't get it to crash, can you reproduce it reliably on your end?)

@jvican
Copy link
Member Author

jvican commented Jul 23, 2017

I restarted the IDE and no, I cannot reproduce it anymore.

@odersky
Copy link
Contributor

odersky commented Jul 26, 2017

I wonder whether it has to do with the fact that the IDE is running on the same classpath as the classpath we see when editing. Has somebody sighted the error outside of the dotty project itself?

@smarter
Copy link
Member

smarter commented Sep 28, 2017

Appears to have been fixed by #3061

@smarter smarter closed this as completed Sep 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants