Add @scala.annotation.internal.preview
annotation and -preview
flag.
#22317
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds
@scala.annotation.internal.preview
to mark Scala 3 stdlib API as preview-only and accessors for easy marking Scala features in the compiler as preview (similarly to experimental features)Access to preview features/API is granted to user using the
-preview
compiler flag - it enables all access to preview features/API without possibility to enable only their subset.@preview
annotated definitions follows the same rules as@experimental
with exception of being non viral - we're not automatically adding@preview
annotation to when refering to preview definitions, but still require preview scope (by-preview
flag), we still check if class overloads, overrides or externs a definition marked as@preview
.Other difference is that
@preview
isprivate[scala]
to prevent users from defining their own preview definitions as it was happening with@experimental