Skip to content

Commit

Permalink
Merge pull request #761 from rust-lang/resolved-type
Browse files Browse the repository at this point in the history
semantic type -> resolved type
  • Loading branch information
ehuss authored Feb 15, 2020
2 parents 1be2f2c + 136bd7d commit 1f7cb6a
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/items/associated-items.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,18 +98,18 @@ 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
P = &'lt S | &'lt mut S | Box<S> | Rc<S> | Arc<S> | Pin<P>
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;
Expand Down

0 comments on commit 1f7cb6a

Please sign in to comment.