## Compiler version main ## Minimized code ```scala opaque type NT[N <: Tuple, V <: Tuple] = V opaque type System = NT[Tuple1["wires"], Tuple1[Any]] extension [N <: Tuple, V <: Tuple] (x: NT[N, V]) { inline def apply(n: Int): Any = x.productElement(n) } extension (system: System) { inline def foo = system.apply(0) } val simulation: System = ??? val _ = simulation.foo ``` ## Output ```scala -- Error: X1.scala:11:4 -------------------------------------------------------- 11 | system.apply(0) | ^^^^^^^^^^^^ |undefined: system$proxy1.apply # -1: TermRef(TermRef(NoPrefix,val system$proxy1),apply) at inlining ``` ## Expectation no error ## notes Initially submitted in connection to NamedTuples: https://github.com/scala/scala3/issues/22324 (fixed for NamedTuples only)