Commit 5e9b86e
authored
update export.md: clarify how extensions are exported
```scala
object Members {
given x: Int = 4
given y: Comparable[String] with {override def compareTo(o: String): Int = ???}
extension (s: String) {
def ext1: String = ???
def ext2(p: Int) = ???
}
}
object Usage {
export Members.*
}
```
produces
```scala
scalac: package <empty> {
final lazy module val Members: Members = new Members()
final module class Members() extends Object() { this: Members.type =>
final lazy given val x: Int = 4
final lazy module given val y: Members.y = new Members.y()
final module class y() extends Object(), Comparable[String] {
this: Members.y.type =>
override def compareTo(o: String): Int = ???
}
extension (s: String) def ext1: String = ???
extension (s: String) def ext2(p: Int): Nothing = ???
}
final lazy module val Usage: Usage = new Usage()
final module class Usage() extends Object() { this: Usage.type =>
export Members.*
extension (s: String) final def ext1: String = Members.ext1(s)
extension (s: String) final def ext2(p: Int): Nothing = Members.ext2(s)(p)
}
}
```1 parent 6744d63 commit 5e9b86e
1 file changed
+1
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
| 77 | + | |
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| |||
0 commit comments