diff --git a/src/items/associated-items.md b/src/items/associated-items.md
index eba9507c7..5434c0495 100644
--- a/src/items/associated-items.md
+++ b/src/items/associated-items.md
@@ -98,8 +98,8 @@ Associated functions whose first parameter is named `self` are called *methods*
and may be invoked using the [method call operator], for example, `x.foo()`, as
well as the usual function call notation.
-If the type of the `self` parameter is specified, it is limited to semantic
-types generated by the following grammar (where `'lt` denotes some arbitrary
+If the type of the `self` parameter is specified, it is limited to types resolving
+to one generated by the following grammar (where `'lt` denotes some arbitrary
lifetime):
```text
@@ -107,9 +107,9 @@ P = &'lt S | &'lt mut S | Box | Rc | Arc | Pin
S = Self | P ``` -The `Self` terminal in this grammar is the semantic `Self` type and can be -replaced with the type being implemented, including type aliases or associated -type projections for the type. +The `Self` terminal in this grammar denotes a type resolving to the implementing type. +This can also include the contextual type alias `Self`, other type aliases, +or associated type projections resolving to the implementing type. ```rust # use std::rc::Rc;