Skip to content

Assertion error with curiously-indirect F-bound using match types #5735

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
abgruszecki opened this issue Jan 17, 2019 · 10 comments
Closed

Assertion error with curiously-indirect F-bound using match types #5735

abgruszecki opened this issue Jan 17, 2019 · 10 comments

Comments

@abgruszecki
Copy link
Contributor

abgruszecki commented Jan 17, 2019

Below code triggers: denotation module class <empty> invalid in run 2. ValidFor: Period(1..66, run = 3)

scala> object Test {
     |   // The identity on types of the form N | P[a, P[b, ... P[z, N]]]
     |   type Nested[X, P[_, _], N] = X match {
     |     case N => N
     |     case P[a, b] => P[a, Nested[b, P, N]]
     |   }
     |
     |   class Foo[T] { def apply[Y >: T <: Nested[T, Tuple2, Unit]](t: T): T = t }
     |   def foo[T] = new Foo[T]
     | }
// defined object Test

scala> Test.foo.apply((21, ()))
assertion failure for (Int, Unit) <:< (Int, Unit) match {
  case Unit => Unit
  case [a, b] => ((a, b)) => (a, LazyRef(...))
}, frozen = false
assertion failure for (Int, Unit) <:< Test.Nested[(Int, Unit), Tuple2, Unit], frozen = false
assertion failure for (Int, Unit) <:< Test.Nested[(Int, Unit), Tuple2, Unit], frozen = false
error while transforming Test.foo[(Int, Unit)].apply[(Int, Unit)]
error while transforming Test.foo[(Int, Unit)].apply[(Int, Unit)](Tuple2.apply[Int, Unit](21, ()))
error while transforming val res0: (Int, Unit) =
  Test.foo[(Int, Unit)].apply[(Int, Unit)](Tuple2.apply[Int, Unit](21, ()))
error while transforming () extends Object() { this: rs$line$2.type =>
  val res0: (Int, Unit) =
    Test.foo[(Int, Unit)].apply[(Int, Unit)](Tuple2.apply[Int, Unit](21, ()))
}
error while transforming @scala.annotation.internal.SourceFile("rs$line$2") final module class rs$line$2(
  )
 extends Object() { this: rs$line$2.type =>
  val res0: (Int, Unit) =
    Test.foo[(Int, Unit)].apply[(Int, Unit)](Tuple2.apply[Int, Unit](21, ()))
}
error while transforming package <empty> {
  final lazy module val rs$line$2: rs$line$2 = new rs$line$2()
  @scala.annotation.internal.SourceFile("rs$line$2") final module class
    rs$line$2
  () extends Object() { this: rs$line$2.type =>
    val res0: (Int, Unit) =
      Test.foo[(Int, Unit)].apply[(Int, Unit)](Tuple2.apply[Int, Unit](21, ()))
  }
}
Exception in thread "main" java.lang.AssertionError: assertion failed: denotation module class <empty> invalid in run 2. ValidFor: Period(1..66, run = 3)
        at scala.Predef$.assert(Predef.scala:223)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.updateValidity(Denotations.scala:824)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.bringForward(Denotations.scala:847)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:902)
        at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:482)
        at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:477)
        at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:471)
        at dotty.tools.dotc.core.SymDenotations.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner(SymDenotations.scala:58)
        at dotty.tools.dotc.core.SymDenotations.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner$(SymDenotations.scala:57)
        at dotty.tools.dotc.core.Contexts$Context.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner(Contexts.scala:69)
        at dotty.tools.dotc.core.SymDenotations.stillValid(SymDenotations.scala:54)
        at dotty.tools.dotc.core.SymDenotations.stillValid$(SymDenotations.scala:46)
        at dotty.tools.dotc.core.Contexts$Context.stillValid(Contexts.scala:69)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.bringForward(Denotations.scala:847)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:902)
        at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:482)
        at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:477)
        at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:471)
        at dotty.tools.dotc.core.SymDenotations.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner(SymDenotations.scala:58)
        at dotty.tools.dotc.core.SymDenotations.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner$(SymDenotations.scala:57)
        at dotty.tools.dotc.core.Contexts$Context.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner(Contexts.scala:69)
        at dotty.tools.dotc.core.SymDenotations.stillValid(SymDenotations.scala:54)
        at dotty.tools.dotc.core.SymDenotations.stillValid$(SymDenotations.scala:46)
        at dotty.tools.dotc.core.Contexts$Context.stillValid(Contexts.scala:69)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.bringForward(Denotations.scala:847)
        at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:902)
        at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:482)
        at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:477)
        at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:471)
        at dotty.tools.dotc.core.SymDenotations.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner(SymDenotations.scala:58)
        at dotty.tools.dotc.core.SymDenotations.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner$(SymDenotations.scala:57)
        at dotty.tools.dotc.core.Contexts$Context.dotty$tools$dotc$core$SymDenotations$$stillValidInOwner(Contexts.scala:69)
        at dotty.tools.dotc.core.SymDenotations.stillValid(SymDenotations.scala:54)
        at dotty.tools.dotc.core.SymDenotations.stillValid$(SymDenotations.scala:46)
        at dotty.tools.dotc.core.Contexts$Context.stillValid(Contexts.scala:69)
        at dotty.tools.dotc.core.Symbols$Symbol.isValidInCurrentRun(Symbols.scala:507)
        at dotty.tools.dotc.core.Types$NamedType.computeSymbol(Types.scala:1749)
        at dotty.tools.dotc.core.Types$NamedType.symbol(Types.scala:1744)
        at dotty.tools.dotc.core.TypeApplications$.$anonfun$typeParams$extension$1(TypeApplications.scala:170)
        at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
        at dotty.tools.dotc.core.TypeApplications$.typeParams$extension(TypeApplications.scala:162)
        at dotty.tools.dotc.core.TypeApplications$.$anonfun$appliedTo$extension0$1(TypeApplications.scala:352)
        at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
        at dotty.tools.dotc.core.TypeApplications$.appliedTo$extension0(TypeApplications.scala:351)
        at dotty.tools.dotc.core.TypeApplications$.$anonfun$appliedTo$3(TypeApplications.scala:401)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$8(Types.scala:4415)
        at dotty.tools.dotc.core.Types$LazyRef.ref(Types.scala:2416)
        at dotty.tools.dotc.core.TrackingTypeComparer$$anon$3.apply(TypeComparer.scala:1896)
        at dotty.tools.dotc.core.Types$TypeMap.$anonfun$mapOver$6(Types.scala:4370)
        at dotty.tools.dotc.core.Types$VariantTraversal.atVariance(Types.scala:4296)
        at dotty.tools.dotc.core.Types$TypeMap.mapArgs$1(Types.scala:4370)
        at dotty.tools.dotc.core.Types$TypeMap.mapArgs$1(Types.scala:4372)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:4378)
        at dotty.tools.dotc.core.TrackingTypeComparer$$anon$3.apply(TypeComparer.scala:1897)
        at dotty.tools.dotc.core.TrackingTypeComparer.$anonfun$matchCase$1(TypeComparer.scala:1916)
        at dotty.tools.dotc.core.ConstraintHandling.inFrozenConstraint(ConstraintHandling.scala:194)
        at dotty.tools.dotc.core.ConstraintHandling.inFrozenConstraint$(ConstraintHandling.scala:189)
        at dotty.tools.dotc.core.TypeComparer.inFrozenConstraint(TypeComparer.scala:27)
        at dotty.tools.dotc.core.TrackingTypeComparer.matchCase(TypeComparer.scala:1903)
        at dotty.tools.dotc.core.Types$MatchType.reduceSequential$1(Types.scala:3735)
        at dotty.tools.dotc.core.Types$MatchType.$anonfun$reduced$17(Types.scala:3792)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:40)
        at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:3788)
        at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:564)
        at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:397)
        at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:316)
        at dotty.tools.dotc.core.TypeComparer.$anonfun$recur$2(TypeComparer.scala:966)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:40)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:44)
        at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:148)
        at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:139)
        at dotty.tools.dotc.core.TypeComparer.isSubApproxHi$1(TypeComparer.scala:955)
        at dotty.tools.dotc.core.TypeComparer.$anonfun$recur$24(TypeComparer.scala:851)
        at dotty.tools.dotc.core.TypeComparer.either(TypeComparer.scala:1123)
        at dotty.tools.dotc.core.TypeComparer.fallback$1(TypeComparer.scala:851)
        at dotty.tools.dotc.core.TypeComparer.compareLower$1(TypeComparer.scala:867)
        at dotty.tools.dotc.core.TypeComparer.compareAppliedType2$1(TypeComparer.scala:879)
        at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:438)
        at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:397)
        at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:316)
        at dotty.tools.dotc.core.TypeComparer.$anonfun$recur$2(TypeComparer.scala:966)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:40)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:44)
        at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:148)
        at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:362)
        at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:316)
        at dotty.tools.dotc.core.TypeComparer.$anonfun$recur$2(TypeComparer.scala:966)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:40)
        at dotty.tools.dotc.reporting.trace$.apply(trace.scala:44)
        at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:148)
        at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:139)
        at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:146)
        at dotty.tools.dotc.core.TypeComparer.topLevelSubType(TypeComparer.scala:125)
        at dotty.tools.dotc.core.Types$Type.$anonfun$$less$colon$less$1(Types.scala:824)
        at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
        at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
        at dotty.tools.dotc.core.Types$Type.$less$colon$less(Types.scala:824)
        at dotty.tools.dotc.core.TypeOps.checkOverlapsBounds$1(TypeOps.scala:265)
        at dotty.tools.dotc.core.TypeOps.$anonfun$boundsViolations$2(TypeOps.scala:270)
        at dotty.tools.dotc.core.TypeOps.$anonfun$boundsViolations$2$adapted(TypeOps.scala:257)
        at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:792)
        at scala.collection.immutable.List.foreach(List.scala:392)
        at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:791)
        at dotty.tools.dotc.core.TypeOps.boundsViolations(TypeOps.scala:257)
        at dotty.tools.dotc.core.TypeOps.boundsViolations$(TypeOps.scala:254)
        at dotty.tools.dotc.core.Contexts$Context.boundsViolations(Contexts.scala:69)
        at dotty.tools.dotc.typer.Checking$.checkBounds(Checking.scala:47)
        at dotty.tools.dotc.typer.Checking$.checkBounds(Checking.scala:58)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:231)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1223)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:62)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:225)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1290)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:54)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:253)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transformStat$1(MacroTransform.scala:42)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.$anonfun$transformStats$1(MacroTransform.scala:45)
        at dotty.tools.dotc.core.Decorators$ListDecorator$.loop$1(Decorators.scala:62)
        at dotty.tools.dotc.core.Decorators$ListDecorator$.mapconserve$extension(Decorators.scala:78)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transformStats(MacroTransform.scala:45)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:60)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.super$transform(PostTyper.scala:223)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.$anonfun$transform$5(PostTyper.scala:249)
        at dotty.tools.dotc.transform.SuperAccessors.wrapTemplate(SuperAccessors.scala:177)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.$anonfun$transform$4(PostTyper.scala:248)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.withNoCheckNews(PostTyper.scala:90)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:245)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1297)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:54)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:267)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.$anonfun$transform$6(Trees.scala:1317)
        at scala.collection.immutable.List.mapConserve(List.scala:179)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1317)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transformStats(Trees.scala:1315)
        at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1303)
        at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:54)
        at dotty.tools.dotc.transform.PostTyper$PostTyperTransformer.transform(PostTyper.scala:324)
        at dotty.tools.dotc.transform.MacroTransform.run(MacroTransform.scala:21)
        at dotty.tools.dotc.core.Phases$Phase.$anonfun$runOn$1(Phases.scala:297)
        at scala.collection.immutable.List.map(List.scala:286)
        at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:295)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$3(Run.scala:172)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at dotty.tools.dotc.util.Stats$.trackTime(Stats.scala:49)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$2(Run.scala:169)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$2$adapted(Run.scala:167)
        at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
        at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
        at dotty.tools.dotc.Run.runPhases$1(Run.scala:167)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$1(Run.scala:192)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:90)
        at dotty.tools.dotc.Run.compileUnits(Run.scala:147)
        at dotty.tools.dotc.Run.compileUnits(Run.scala:139)
        at dotty.tools.repl.ReplCompiler.runCompilationUnit(ReplCompiler.scala:151)
        at dotty.tools.repl.ReplCompiler.compile(ReplCompiler.scala:160)
        at dotty.tools.repl.ReplDriver.compile(ReplDriver.scala:213)
        at dotty.tools.repl.ReplDriver.interpret(ReplDriver.scala:182)
        at dotty.tools.repl.ReplDriver.loop$1(ReplDriver.scala:127)
        at dotty.tools.repl.ReplDriver.$anonfun$runUntilQuit$2(ReplDriver.scala:130)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
        at scala.Console$.withErr(Console.scala:196)
        at dotty.tools.repl.ReplDriver.$anonfun$withRedirectedOutput$1(ReplDriver.scala:143)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
        at scala.Console$.withOut(Console.scala:167)
        at dotty.tools.repl.ReplDriver.withRedirectedOutput(ReplDriver.scala:143)
        at dotty.tools.repl.ReplDriver.runUntilQuit(ReplDriver.scala:130)
        at dotty.tools.repl.Main$.main(Main.scala:6)
        at dotty.tools.repl.Main.main(Main.scala)

Note that Test.foo.apply(()) works.

/cc @smarter

@abgruszecki
Copy link
Contributor Author

abgruszecki commented Jan 17, 2019

Or /cc @OlivierBlanvillain? (match types)

@abgruszecki abgruszecki changed the title Assertion error with semi-F-bound using a match type Assertion error with curiously-indirect F-bound using match types Jan 17, 2019
@Blaisorblade
Copy link
Contributor

Marked as blocker (tentatively) because the error is so scary.

@smarter
Copy link
Member

smarter commented Jan 23, 2019

I think blockers should be assigned to a specific milestone, otherwise it's not clear what they're blocking exactly. Also for a crash to be a blocker it should be something that is likely to impact a lot of people, so I don't think this qualifies.

@Blaisorblade
Copy link
Contributor

Ok! My reasoning was, this should block 1.0 until we figure the bug is not in fundamental code. But we don’t have that milestone, so unlabeled!

@odersky
Copy link
Contributor

odersky commented Jan 24, 2019

The error is that somebody is looking at the package in run 2, when the current run is 3. Backwards timetravel is not allowed, hence the error.

How to fix this: Two possibilities: (1) Find out what causes the jump to run 2, and eliminate it. Most likely it's some cached context. Or, (2), allow backwards timetravel for package denotations. I am less sure about this one, since it might hide real errors so I'd prefer (1) if that works out.

@odersky
Copy link
Contributor

odersky commented Jan 24, 2019

Who wants to give this a try?

@milessabin
Copy link
Contributor

I'd like to when I have a moment ...

@milessabin
Copy link
Contributor

This appears to be fixed. Needs test case to close.

@smarter smarter closed this as completed in 0f79124 Mar 5, 2019
smarter added a commit that referenced this issue Mar 5, 2019
@travisbrown
Copy link
Contributor

@smarter Do you happen to know what resolved this? I'm seeing similar errors on 0.22.0-RC1 and recent nightlies when calling inline methods in a trait with an F-bound. My quick attempt to minimize didn't work (the piece of code that's failing in my sbt project seems fine when pulled out and compiled with dotc).

@smarter
Copy link
Member

smarter commented Feb 23, 2020

I don't, it might be that the root cause is the same and the test case now works by accident if it's related to caching as mentioned above.

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

6 participants