Skip to content

Commit eadbdaf

Browse files
committed
Use definitions from RFC 1023
1 parent 6a78aa5 commit eadbdaf

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

src/glossary.md

+6-9
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,15 @@ For example, `2 + (3 * 4)` is an expression that returns the value 14.
7373
An [item] that is not a member of an [implementation], such as a *free
7474
function* or a *free const*. Contrast to an [associated item].
7575

76-
### Fundamental type constructors
77-
78-
Fundamental type constructors are XXXX.
76+
### Fundamental traits
7977

80-
All of
78+
A fundamental trait is one where adding an impl of it for an existing type is a breaking change.
79+
The `Fn` traits and `Sized` are fundamental.
8180

82-
- `&`
83-
- `&mut`
84-
- `Box`
85-
- `Pin`
81+
### Fundamental type constructors
8682

87-
are fundamental type constructors.
83+
A fundamental type constructor is a type where implementing a [blanket implementation](#blanket-implementation) over it
84+
is a breaking change. `&`, `&mut`, `Box`, and `Pin` are fundamental.
8885

8986
Any time a type `T` is considered [local](#local-type), `&T`, `&mut T`, `Box<T>`, and `Pin<T>`
9087
are also considered local. Fundamental type constructors cannot [cover](#uncovered-type) other types.

0 commit comments

Comments
 (0)