You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/reference/features-classification.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,12 +45,12 @@ These constructs replace existing constructs with the aim of making the language
45
45
-[Export clauses](other-new-features/export.md)
46
46
provide a simple and general way to express aggregation, which can replace the
47
47
previous facade pattern of package objects inheriting from classes.
48
-
-[Vararg patterns](changed-features/vararg-patterns.md) now use the form `: _*` instead of `@ _*`, mirroring vararg expressions,
48
+
-[Vararg splices](changed-features/vararg-splices.md) now use the form `*` instead of `@ _*`, mirroring vararg expressions,
49
49
-[Creator applications](other-new-features/creator-applications.md) allow using simple function call syntax
50
50
instead of `new` expressions. `new` expressions stay around as a fallback for
51
51
the cases where creator applications cannot be used.
52
52
53
-
With the exception of early initializers and old-style vararg patterns, all superseded constructs continue to be available in Scala 3.0. The plan is to deprecate and phase them out later.
53
+
With the exception of early initializers and old-style vararg splices, all superseded constructs continue to be available in Scala 3.0. The plan is to deprecate and phase them out later.
54
54
55
55
Value classes (superseded by opaque type aliases) are a special case. There are currently no deprecation plans for value classes, since we might bring them back in a more general form if they are supported natively by the JVM as is planned by project Valhalla.
56
56
@@ -70,7 +70,7 @@ For the next several versions, old features will remain available and deprecatio
70
70
These constructs are restricted to make the language safer.
71
71
72
72
-[Implicit Conversions](contextual/conversions.md): there is only one way to define implicit conversions instead of many, and potentially surprising implicit conversions require a language import.
73
-
-[Given Imports](contextual/import-delegate.md): implicits now require a special form of import, to make the import clearly visible.
73
+
-[Given Imports](contextual/given-imports.md): implicits now require a special form of import, to make the import clearly visible.
74
74
-[Type Projection](dropped-features/type-projection.md): only classes can be used as prefix `C` of a type projection `C#A`. Type projection on abstract types is no longer supported since it is unsound.
75
75
-[Multiversal equality](contextual/multiversal-equality.md) implements an "opt-in" scheme to rule out nonsensical comparisons with `==` and `!=`.
@@ -173,7 +173,7 @@ To enable porting most uses of macros, we are experimenting with the advanced la
173
173
by itself a straightforward implementation of some simple macros and is at the same time an essential building block for the implementation of complex macros.
174
174
-[Quotes and splices](metaprogramming/macros.md) provide a principled way to express macros and staging with a unified set of abstractions.
175
175
-[Type class derivation](contextual/derivation.md) provides an in-language implementation of the `Gen` macro in Shapeless and other foundational libraries. The new implementation is more robust, efficient and easier to use than the macro.
176
-
-[Implicit by-name parameters](contextual/implicit-by-name-parameters.md) provide a more robust in-language implementation of the `Lazy` macro in Shapeless.
176
+
-[Implicit by-name parameters](contextual/by-name-context-parameters.md) provide a more robust in-language implementation of the `Lazy` macro in Shapeless.
0 commit comments