Open
Description
Compiler version
3.0.0-RC3
Minimized code
import scala.quoted.*
object C:
def hack(using qq: Quotes): C { val q: qq.type } =
(new C).asInstanceOf[C { val q: qq.type }] // shouldn't be necessary
class C(using val q: Quotes):
val flags = q.reflect.Flags.Lazy
def test(using q: Quotes) =
import q.reflect.*
val c = new C
c.flags : Flags
val d = C.hack
d.flags : Flags
Output
[error] 14 | c.flags : Flags
[error] | ^^^^^^^
[error] | Found: (c.flags : c.q.reflect.Flags)
[error] | Required: q².reflect.Flags
[error] |
[error] | where: q is a given instance in class C
[error] | q² is a parameter in method test
[error] one error found
Expectation
It should compile.