Skip to content

Type parameter inference broken for parent of an enum case #2663

@smarter

Description

@smarter

This works:

class Foo[T](x: T)
class Bar[T](y: T) extends Foo(y)

But this doesn't:

enum Foo[T](x: T) {
  case Bar[T](y: T) extends Foo(y)
}
-- [E055] Syntax Error: try/parents.scala:2:28 ---------------------------------
2 |  case Bar[T](y: T) extends Foo(y)
  |                            ^^^
  |                            missing type parameter for [Foo$$T] => Foo[T]

Manually adding the missing type parameter works:

enum Foo[T](x: T) {
  case Bar[T](y: T) extends Foo[T](y)
}

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