Skip to content

Commit e770df3

Browse files
committed
Add note about realizibility in the spec
1 parent 11ace0f commit e770df3

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

docs/_docs/reference/experimental/erased-defs-spec.md

+6
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,9 @@ TODO: complete
6262
7. Overriding
6363
* Member definitions overriding each other must both be `erased` or not be `erased`
6464
* `def foo(x: T): U` cannot be overridden by `def foo(erased x: T): U` and vice-versa
65+
*
66+
67+
68+
8. Type Restrictions
69+
* For dependent functions, `erased` parameters are limited to realizable types, that is, types that are inhabited by non-null values.
70+
This restriction stops us from using a bad bound introduced by an erased value, which leads to unsoundness (see #4060).

0 commit comments

Comments
 (0)