Skip to content

Commit bbdd2af

Browse files
committed
Rename unused to ghost
1 parent 86f24d2 commit bbdd2af

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

docs/blog/_posts/2018-03-05-seventh-dotty-milestone-release.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,28 +71,28 @@ object Option {
7171
You can visit our website for more information about [enumerations](/docs/reference/enums/enums.html)
7272
and how we can use them to model [Algebraic Data Types](/docs/reference/enums/adts.html).
7373

74-
### Unused Parameters [#3342](https://github.com/lampepfl/dotty/pull/3342) and remove Phantom types [#3410](https://github.com/lampepfl/dotty/pull/3410)
75-
The keyword `unsued` can be placed on parameters, `val` and `def` to enforce that no reference to
74+
### Ghost terms [#3342](https://github.com/lampepfl/dotty/pull/3342) and remove Phantom types [#3410](https://github.com/lampepfl/dotty/pull/3410)
75+
The keyword `ghost` can be placed on parameters, `val` and `def` to enforce that no reference to
7676
those terms is ever used (recursively). As they are never used, they can safely be removed during compilation.
77-
These have similar semantics as _phantom types_ but with the added advantage that any type can be an unused parameter. They can be used to add implicit type constraints that are only relevant at compilation time.
77+
These have similar semantics as _phantom types_ but with the added advantage that any type can be an ghost parameter. They can be used to add implicit type constraints that are only relevant at compilation time.
7878

7979
```scala
8080
// A function that requires an implicit evidence of type X =:= Y but never uses it.
8181
// The parameter will be removed and the argument will not be evaluated.
82-
def apply(implicit unused ev: X =:= Y) =
82+
def apply(implicit ghost ev: X =:= Y) =
8383
foo(ev) // `ev` can be an argument to foo as foo will also never use it
84-
def foo(unused x: X =:= Y) = ()
84+
def foo(ghost x: X =:= Y) = ()
8585
```
8686

8787
The previous code will be transformed to the following:
8888

8989
```scala
90-
def apply() = // unused parameter will be removed
91-
foo() // foo is called without the unused parameter
92-
def foo() = () // unused parameter will be removed
90+
def apply() = // ghost parameter will be removed
91+
foo() // foo is called without the ghost parameter
92+
def foo() = () // ghost parameter will be removed
9393
```
9494

95-
[Documentation](/docs/reference/unused-parameters.html)
95+
[Documentation](/docs/reference/ghost-terms.html)
9696

9797

9898
## Trying out Dotty

0 commit comments

Comments
 (0)