Closed
Description
Compiler version
Latest NIGHTLY
Minimized code
import language.experimental.captureChecking
import caps._
trait Foo extends Capability
trait CaptureSet:
type C <: CapSet^
def test =
val x: Foo^ = ???
object X extends CaptureSet:
type C = CapSet^{x}
val y: Foo^{X.C^} = x // error
Output
-- Error: local/ccpaths.scala:70:15 --------------------------------------------
70 | val u: Foo^{X.C^} = x
| ^^^^
|X.C is not a legal prefix for `^` here,
|is must be a type parameter or abstract type with a caps.CapSet upper bound.
Expectation
It should be accepted (+ the error message has a typo).