Skip to content

Add -Yexperimental setting #19696

Closed
Closed
@odersky

Description

@odersky

We have a persistent issue that experimental code cannot be easily used. Nobody outside a small expert circle seems to know how to specify a nightly compiler in their workflow. With the tooling we have it's just not practical.

That leaves adding @experimental annotations to all code accessing experimental features, which is clumsy and boilerplatey. We have exempted ourselves from all that hassle since all files in dotty/tests are exempted from experimental checking. But we should eat our own dogfood! (and conclude that it is indigestible)

For quick experimentation it would be much better if we had a -Yexperimental setting as a complement to -Yno-experimental. We only need to make sure that -Yexperimental then generates only experimental code. This could be done by either having the compiler add the @experimental annotation to the Tasty of all toplevel classes or by making the generated Tasty version an unstable one. I am not sure which of the two solutions is preferable.

See #17922 for previous discussions.

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