Skip to content

Compiler doesn't generate error "takes type parameters" in extends list #22334

@unkarjedy

Description

@unkarjedy

Scala 3.3.3 or 3.6.2

trait MyTrait[T]
class MyClass extends MyTrait //No error =/ Apparently Scala 3 treats it as `extends MyTrait[Nothing]`
val value: MyTrait = ??? //this is an error though

Actual behaviour
No error for extends MyTrait.
It's treated as MyTrait[Nothing]

Expected behaviour
Scala 3 compiler should generate the error "trait MyTrait takes type parameters" like in Scala 2.
Or "Missing type parameter for MyTrait" as for val value: MyTrait

It might be some unintended side-effect of changes in kind polymorphism in Scala 3.

Originally asked in Discord:
https://discord.com/channels/632150470000902164/632150470000902166/1327234334758797322

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions