tree b8141a086e004f6d272a96a934405daf3a6e8e71
parent 9d5b6efdf62dbcd7bdf8e78a5f69c1b6678fd155
parent 2dafa91310354fdca43211434878b329c0535f46
author bors <bors@rust-lang.org> 1561087496 +0000
committer bors <bors@rust-lang.org> 1561087496 +0000

Auto merge of #61948 - ehuss:update-mdbook, r=steveklabnik

Update mdbook

This updates to mdbook 0.3.0. This release includes the following changes:
https://github.com/rust-lang-nursery/mdBook/blob/master/CHANGELOG.md#mdbook-030
One of the biggest changes is the update to pulldown-cmark.

This also bumps the submodules (except the nomicon which has some broken links).

## reference

6 commits in f8ae436d936f6f4891d3c1bbb1af5865eb8aeadb..08ae27a4921ca53967656a7391c82f6c0ddd1ccc
2019-05-31 14:59:12 +0200 to 2019-06-17 11:24:13 -0700
- Document `underscore_const_names` (rust-lang-nursery/reference#620)
- Describe `#[repr(align(x))]` semantics on `enum`s (rust-lang-nursery/reference#619)
- Fix typo in lazy_static example. (rust-lang-nursery/reference#622)
- Rust 2015 supports Kleene ? macro operator (rust-lang-nursery/reference#617)
- Bitrig support has been removed (rust-lang-nursery/reference#615)
- Fix spell error in attributes/diagnostics.md (rust-lang-nursery/reference#614)

## book

8 commits in 62a8c6f25fbd981c80a046f3b04be9684749af3b..9aacfcc4c5b102c8cda195932addefd32fe955d2
2019-05-28 15:48:23 -0400 to 2019-06-16 21:27:26 -0400
- Add a script to help diff rendered books
- Update mdbook links (rust-lang/book#1989)
- Update for markdown changes. (rust-lang/book#1984)
- Make all mentions of crates.io consistent
- Propagate corrections made in layout
- Add link to Swedish translation
- Propagate small edits made in layout
- Remove snapshot files that have been checked with layout

## rust-by-example

3 commits in d8eec1dd65470b9a68e80ac1cba8fad0daac4916..b27472962986e85c94f4183b1a6d2207660d3ed6
2019-06-08 10:15:22 -0300 to 2019-06-17 15:52:07 -0300
- Update `macro_rules!` formatting. (rust-lang/rust-by-example#1205)
- Add Cargo comment to the `try!` macro example. (rust-lang/rust-by-example#1203)
- Fix typo (rust-lang/rust-by-example#1204)

## rustc-guide

15 commits in 3ac9cfc9c9ab2e366feebf18718112737f572352..f55e97c145cf37fd664db2e0e2f2d05df328bf4f
2019-06-02 19:36:58 -0500 to 2019-06-15 17:29:12 -0500
- fix typos
- Update for TyCtxt&lt;'a, 'gcx, 'tcx&gt; -&gt; TyCtxt&lt;'tcx&gt;.
- fix ci failures, typos, broken links
- Some edits to address review comments
- Notes about closure de-sugaring
- add note about rebuilding llvm
- Changes to config.toml require a clean
- Fix a few typos in type inference chapter
- Add triagebot (rust-lang/rustc-guide#337)
- Update how-to-build-and-run.md
- Update how-to-build-and-run.md
- Update compiler-debugging.md
- use debug instead of debuginfo-level
- Replaced tabs with spaces
- correct indentation

## edition-guide

4 commits in 581c6cccfaf995394ea9dcac362dc8e731c18558..f8072acde5ce29c7570d7986180bbded2d22e287
2019-05-06 12:47:44 -0700 to 2019-06-14 23:27:05 +0200
- Small fixes (rust-lang-nursery/edition-guide#179)
- Cleanup unused NLL link (rust-lang-nursery/edition-guide#167)
- Part 2: Rust 2015 now supports ? macro rep op (rust-lang-nursery/edition-guide#163)
- Part 1: Rust 2015 now supports ? macro rep op (rust-lang-nursery/edition-guide#162)

## embedded-book

1 commits in f0c75b75f9c18537b78f5d17c1015247e9a49c86..ef27b517dcd0b990c888c0d7caeff52a5a115619
2019-06-03 10:49:02 +0000 to 2019-06-18 22:59:47 +0000
- Fix link for more strict commonmark interpretation.  (rust-embedded/book#194)
