auto merge of #14370 : cmr/rust/design-faq, r=brson

This indends to help quell frequently answered questions about the language
design in a single, authoritative place.
auto merge of #14417 : Sawyer47/rust/dlist-fixme, r=huonw

Issue #3511 was closed, but dlist.rs contained a FIXME for it.
guide-runtime.md: Fix a typo
auto merge of #14426 : catharsis/rust/master, r=alexcrichton

Just a tiny fix, sorry about the noise :-)
rustdoc: Move inlining to its own module
Change regex! macro to expand to a constexpr, allowing to put it in a static
auto merge of #14391 : alexcrichton/rust/more-rustdoc-inline, r=huonw

As part of the libstd facade (cc #13851), rustdoc is taught to inline documentation across crate boundaries through the usage of a `pub use` statement. This is done to allow libstd to maintain the facade that it is a standalone library with a defined public interface (allowing us to shuffle around what's underneath it).

A preview is available at http://people.mozilla.org/~acrichton/doc/std/index.html
libstd: Remove unnecessary re-exports under std::std
De-realstd os::args

With the test runner using ::std::os::args(), and std::std::os now being
a re-export of realstd::os, there's no more need for realstd stuff
mucking up rt::args.

Remove the one test of os::args(), as it's not very useful and it won't
work anymore now that rt::args doesn't use realstd.
auto merge of #14423 : Kimundi/rust/static_regex, r=alexcrichton

This patch changes the internals of `Regex` and `regex!()` such that

```rust
static RE: Regex = regex!(...);
```

is valid. It doesn't change anything about the actual regex implementation, it just changes the type to something that can be constructed as a const expression.
Fix to tutorial
auto merge of #14430 : kballard/rust/squelch_os_warning, r=alexcrichton

Clean up the re-exports of various modules in `std::std`, and remove the
`realstd` stuff from `std::rt::args`.
Minor fixes to `std::str` docs

This tweaks the `std::str` docs to compensate for the recent shift from `~str`
to `String`.
Update tutorial, see issue #13578
Allow $foo:block nonterminals in expression position

Fixes #13678.
auto merge of #14432 : kballard/rust/nt_block, r=huonw

Fixes #13678.
mark non-immediate by-value parameters as non-null
auto merge of #14300 : cmr/rust/enum-size-lint, r=kballard

See commits for details.
handle attributes for non-immediate types first

Slices are non-immediate and were not having these attributes applied.
auto merge of #14439 : thestinger/rust/nonnull, r=luqmana