2323Functions, type aliases, structs, enumerations, unions, traits and
2424implementations may be * parameterized* by types and lifetimes. These parameters
2525are listed in angle <span class =" parenthetical " >brackets (` <...> ` )</span >,
26- usually immediattely after and before its definition the name of the item. For
26+ usually immediately after and before its definition the name of the item. For
2727implementations, which don't have a name, they come directly after ` impl ` .
2828Lifetime parameters must be declared before type parameters. Some examples of
2929items with type and lifetime parameters:
@@ -36,7 +36,7 @@ struct Ref<'a, T> where T: 'a { r: &'a T }
3636
3737[ References] , [ raw pointers] , [ arrays] , [ slices] [ arrays ] , [ tuples] and
3838[ function pointers] have lifetime or type parameters as well, but are not
39- refered to with path syntax.
39+ referred to with path syntax.
4040
4141## Where clauses
4242
@@ -61,8 +61,8 @@ refered to with path syntax.
6161parameters as well as a way to specify bounds on types that aren't type
6262parameters.
6363
64- Bounds that don't use the item's parameters are checked when the item is
65- defined. It is an error for such a bound to be false.
64+ Bounds that don't use the item's parameters or higher-ranked lifetimes are
65+ checked when the item is defined. It is an error for such a bound to be false.
6666
6767[ ` Copy ` ] , [ ` Clone ` ] and [ ` Sized ` ] bounds are also checked for certain generic
6868types when defining the item. It is an error to have ` Copy ` or ` Clone ` as a
0 commit comments