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/other-new-features/export.md
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,7 @@ It is a compile-time error if a simple or renaming selector does not identify an
70
70
members.
71
71
72
72
Type members are aliased by type definitions, and term members are aliased by method definitions. Export aliases copy the type and value parameters of the members they refer to.
73
-
Export aliases are always `final`. Aliases of given instances are again defined as givens (and aliases of old-style implicits are `implicit`). There are no other modifiers that can be given to an alias. This has the following consequences for overriding:
73
+
Export aliases are always `final`. Aliases of given instances are again defined as givens (and aliases of old-style implicits are `implicit`). Aliases of inline methods or values are again defined `inline`. There are no other modifiers that can be given to an alias. This has the following consequences for overriding:
74
74
75
75
- Export aliases cannot be overridden, since they are final.
76
76
- Export aliases cannot override concrete members in base classes, since they are
@@ -119,7 +119,6 @@ class B { val c: Int }
119
119
objecta { valb=newB }
120
120
exporta._
121
121
exportb._
122
-
}
123
122
```
124
123
Is the `export b._` clause legal? If yes, what does it export? Is it equivalent to `export a.b._`? What about if we swap the last two clauses?
0 commit comments