Open
Description
Compiler version
3.3.1
Minimized code
extension (tuple: Tuple)
def *:[T >: tuple.type <: Tuple, H](x: H): H *: T = ???
Output
2 | def `*:`[T >: tuple.type <: Tuple, H](x: H): H *: T = ???
| ^^^^^
| Not found: tuple - did you mean Tuple?
The issue seems to come from how we handle type parameters
[[syntax trees at end of typer]]
extension [T >: tuple.type <: Tuple, H >: Nothing <: Any](tuple: Tuple)
def *:(x: H): *:[H, T] = ???
It should be the same as in
extension (tuple: Tuple)
def ok[T >: tuple.type <: Tuple, H](x: H): H *: T = ???
[[syntax trees at end of typer]]
extension (tuple: Tuple) def ok[T >: tuple.type <: Tuple,
H >: Nothing <: Any](x: H): *:[H, T] = ???
Expectation
Should compile