Skip to content

-Xsource:3.0 overview #374

Closed
Closed
@adriaanm

Description

@adriaanm

For migration to 3.0, Scala 2.14 (or perhaps 2.13 where feasible) should offer a source level that does the following:

  • disallow:
    • procedure syntax
    • early initializers (once we'll have trait parameters)
    • xml literals
    • implicit class member without explicit return type (perhaps still infer from RHS if it's new T)
  • newly reserved keywords:
    • explicitly
    • inline
  • explicitly to indicate implicit arguments is being passed explicitly (if not, assume we're passing in explicit arguments, and infer implicit ones)
  • free up _ for type lambdas (kind-projector has to use ?, but _ would be more logical if we can migrate)
  • accept & for with
  • repeated argument syntax for patterns xs@ _* --> xs: _*
  • name clashes of class members (they're not overrides, disallow) (see #156)
    class C { class I }
    class D extends C { class I /* <-- needs unique name */ }
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions