Fix lev_distance
Re-do the 30 minute intro

This was originally on my blog, so it's incredibly informal. Let's make
it better.
Handle provided trait methods when giving inference error suggestions

This fixes an ICE.  Closes issue #17758
Add regression test for issue #17758
Correctly generate drop glue for `Box<str>`

This fixes an ICE.  Closes issue #17734
Make examples for AtomicInt refer to AtomicInt

The examples for fetch_or, fetch_and and fetch_xor for
std::sync::atomic::AtomicInt used AtomicUint instead of AtomicInt.
Fix infinite recursion in Writer impl for &mut Writer

Closes issue #17767
Update LLVM.
docs: Reference hoedown instead of sundown
docs: Fix short hash link to github

The escaped newline in the middle of the variable reference breaks the
short hash substitution, leaving the link text exmpty; rewrap so that
each replacement is on its own line.
auto merge of #17738 : hoeppnertill/rust/master, r=alexcrichton

There is an issue with lev_distance, where
```
fn main() {
    println!("{}", "\x80".lev_distance("\x80"))
}
```
prints `2`.

This is due to using the byte length instead of the char length.
auto merge of #17761 : bkoropoff/rust/issue-17758, r=alexcrichton

This fixes an ICE and closes issue #17758
Rename vector patterns to array patterns

Closes #17765.
auto merge of #17766 : pminten/rust/atomic-int-in-examples, r=alexcrichton

The examples for fetch_or, fetch_and and fetch_xor for
std::sync::atomic::AtomicInt used AtomicUint instead of AtomicInt.
Tweak ‘discriminant value already exists’ error message

Closes #15524.
Give a more descriptive error when marking non-test items as #[test]

Closes #14772.
auto merge of #17772 : bkoropoff/rust/issue-17767, r=alexcrichton

Closes issue #17767
Add intrinsics::unreachable
Add tests for intrinsics::unreachable
auto merge of #17774 : lambda/rust/docs-mention-hoedown, r=steveklabnik

Rust 0.11.0 switched from sundown to the actively maintained hoedown; update the rustdoc documention to mention this.