Skip to content

New style implicit conversion error with value classes due to identical erasure #19000

Open
@soronpo

Description

@soronpo

Compiler version

v3.3.1

Minimized code

class Foo[+T](val value: T) extends AnyVal

object Foo:
  given toValue[T]: Conversion[Foo[T], T] = foo => foo.value

Output

bridge generated for member method apply(foo: Playground.Foo[T]): T in anonymous class Conversion {...}
which overrides method apply(x: T): U in class Conversion
clashes with definition of the member itself; both have erased type (foo: Object): Object."

Expectation

No error.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions