Skip to content

Remove language.experimental.dependent parser support or move it under a flag #10546

Closed
@smarter

Description

@smarter

Right now If I write:

def foo: Set(Int) = Set(1)

I get:

1 |def foo: Set(Int) = Set(1)
  |         ^^^^^^^
  |Term-dependent types are experimental,
  |they must be enabled with a `experimental.dependent` language import or setting

And then if I enable the feature I get:

-- Error: try/foo.scala:1:9 ----------------------------------------------------
1 |def foo: Set(Int) = Set(1)
  |         ^^^^^^^
  |         Not yet implemented: T(...)

This confuses users and send them down the wrong path when they just accidentally used parens instead of brackets. Given that this feature is not anywhere close to being implemented I propose simply removing it from the parser, or keeping it under a -Y flag if we don't want to delete the code,.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions