trait_obj.method_two();
```
-You can read more about trait objects in the Trait Object section of the
-Reference:
+You can read more about trait objects in the [Trait Objects] section of the
+Reference.
-https://doc.rust-lang.org/reference/types.html#trait-objects
+[Trait Objects]: https://doc.rust-lang.org/reference/types.html#trait-objects
"##,
E0034: r##"
optional namespacing), a dereference, an indexing expression or a field
reference.
-More details can be found here:
-https://doc.rust-lang.org/reference/expressions.html#lvalues-rvalues-and-temporaries
+More details can be found in the [Expressions] section of the Reference.
+
+[Expressions]: https://doc.rust-lang.org/reference/expressions.html#lvalues-rvalues-and-temporaries
Now, we can go further. Here are some erroneous code examples:
}
```
-PhantomData can also be used to express information about unused type
-parameters. You can read more about it in the API documentation:
+[PhantomData] can also be used to express information about unused type
+parameters.
-https://doc.rust-lang.org/std/marker/struct.PhantomData.html
+[PhantomData]: https://doc.rust-lang.org/std/marker/struct.PhantomData.html
"##,
E0393: r##"
println!("x: {}, y: {}", variable.x, variable.y);
```
-For more information see The Rust Book: https://doc.rust-lang.org/book/
+For more information about primitives and structs, take a look at The Book:
+https://doc.rust-lang.org/book/first-edition/primitive-types.html
+https://doc.rust-lang.org/book/first-edition/structs.html
"##,
E0611: r##"