diff --git a/src/crates-and-source-files.md b/src/crates-and-source-files.md index 4a1ee898d3c3b..beffaba3c801f 100644 --- a/src/crates-and-source-files.md +++ b/src/crates-and-source-files.md @@ -114,5 +114,5 @@ fn main() { [_utf8 byte order mark_]: https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8 [function]: items/functions.html [`Termination`]: ../std/process/trait.Termination.html -[where clause]: items/where-clauses.html +[where clauses]: items/generics.html#where-clauses [trait or lifetime bounds]: trait-bounds.html diff --git a/src/expressions.md b/src/expressions.md index fdb003a91a42d..25b586076f6cc 100644 --- a/src/expressions.md +++ b/src/expressions.md @@ -203,7 +203,7 @@ Here are some examples: ### Implicit Borrows Certain expressions will treat an expression as a place expression by implicitly -borrowing it. For example, it is possible to compare two unsized [slices] for +borrowing it. For example, it is possible to compare two unsized [slices][slice] for equality directly, because the `==` operator implicitly borrows it's operands: ```rust diff --git a/src/expressions/match-expr.md b/src/expressions/match-expr.md index 6b72b7cd30172..839a8bcc99991 100644 --- a/src/expressions/match-expr.md +++ b/src/expressions/match-expr.md @@ -190,3 +190,4 @@ meaning on match arms are [`cfg`], `cold`, and the [lint check attributes]. [_OuterAttribute_]: attributes.html [`cfg`]: attributes.html#conditional-compilation [lint check attributes]: attributes.html#lint-check-attributes +[range]: expressions/range-expr.html diff --git a/src/expressions/method-call-expr.md b/src/expressions/method-call-expr.md index 4b5cab46dba7d..28ea5f5ef90f2 100644 --- a/src/expressions/method-call-expr.md +++ b/src/expressions/method-call-expr.md @@ -101,3 +101,4 @@ method and you'll be fine. [disambiguating function call syntax]: expressions/call-expr.html#disambiguating-function-calls [dereference]: expressions/operator-expr.html#the-dereference-operator [methods]: items/associated-items.html#methods +[unsized coercion]: type-coercions.html#unsized-coercions diff --git a/src/items/associated-items.md b/src/items/associated-items.md index 52a2d8b6bd03b..9b990375914a4 100644 --- a/src/items/associated-items.md +++ b/src/items/associated-items.md @@ -279,6 +279,7 @@ fn main() { [constants]: items/constant-items.html [constant item]: items/constant-items.html [functions]: items/functions.html +[function item]: types.html#function-item-types [method call operator]: expressions/method-call-expr.html [block]: expressions/block-expr.html [path]: paths.html diff --git a/src/items/enumerations.md b/src/items/enumerations.md index 9939516ce54a3..aab6b4f50e212 100644 --- a/src/items/enumerations.md +++ b/src/items/enumerations.md @@ -141,3 +141,6 @@ enum ZeroVariants {} [`mem::discriminant`]: ../std/mem/fn.discriminant.html [numeric cast]: expressions/operator-expr.html#semantics [`repr` attribute]: attributes.html#ffi-attributes +[default representation]: type-layout.html#the-default-representation +[primitive representation]: type-layout.html#primitive-representations +[`C` representation]: type-layout.html#the-c-representation diff --git a/src/items/static-items.md b/src/items/static-items.md index ca09f78e07e9e..a5427df1eeee6 100644 --- a/src/items/static-items.md +++ b/src/items/static-items.md @@ -16,7 +16,7 @@ All access to a static is safe, but there are a number of restrictions on statics: * The type must have the `Sync` trait bound to allow thread-safe access. -* Statics allow using paths to statics in the [constant-expression] used to +* Statics allow using paths to statics in the [constant expression] used to initialize them, but statics may not refer to other statics by value, only through a reference. * Constants cannot refer to statics. diff --git a/src/items/traits.md b/src/items/traits.md index e667670eec2c8..5e830a8c302bc 100644 --- a/src/items/traits.md +++ b/src/items/traits.md @@ -52,7 +52,7 @@ Object safe traits can be the base trait of a [trait object]. A trait is ## Supertraits **Supertraits** are traits that are required to be implemented for a type to -implement a specific trait. Furthermore, anywhere a [generic] or [trait object] +implement a specific trait. Furthermore, anywhere a [generic][generics] or [trait object] is bounded by a trait, it has access to the associated items of its supertraits. Supertraits are declared by trait bounds on the `Self` type of a trait and @@ -124,4 +124,4 @@ let nonsense = circle.radius() * circle.area(); [implementations]: items/implementations.html [generics]: items/generics.html [where clauses]: items/generics.html#where-clauses -[generic functions]: items/functions.html#generic-functions \ No newline at end of file +[generic functions]: items/functions.html#generic-functions diff --git a/src/type-layout.md b/src/type-layout.md index 7094b02885177..f9e2f8badf1a6 100644 --- a/src/type-layout.md +++ b/src/type-layout.md @@ -296,7 +296,7 @@ a `packed` type cannot transitively contain another `align`ed type.
-***Warning:*** Dereferencing an unaligned pointer is [undefined behaviour] and +***Warning:*** Dereferencing an unaligned pointer is [undefined behavior] and it is possible to [safely create unaligned pointers to `packed` fields][27060]. Like all ways to create undefined behavior in safe Rust, this is a bug. diff --git a/src/types.md b/src/types.md index 4b12c4a22cc9a..e2762aa3fc6d7 100644 --- a/src/types.md +++ b/src/types.md @@ -32,7 +32,7 @@ language: [machine types]: #machine-types [machine-dependent integer types]: #machine-dependent-integer-types [textual types]: #textual-types -[never-type]: #never-type +[never type]: #never-type [Tuples]: #tuple-types [Arrays]: #array-and-slice-types [Slices]: #array-and-slice-types diff --git a/src/undocumented.md b/src/undocumented.md index 71bd1b2c0d7f3..636dbf1f18bf6 100644 --- a/src/undocumented.md +++ b/src/undocumented.md @@ -22,6 +22,7 @@ to shrink! [`libstd` facade]: https://github.com/rust-lang/rfcs/pull/40 [Trait reform]: https://github.com/rust-lang/rfcs/pull/48 [Attributes on `match` arms]: https://github.com/rust-lang/rfcs/pull/49 +[Attributes]: attributes.html [Flexible target specification]: https://github.com/rust-lang/rfcs/pull/131 [Conditional compilation]: attributes.html#conditional-compilation [Unambiguous function call syntax]: https://github.com/rust-lang/rfcs/pull/132