rustdoc: show default type parameters in generics

fix #12291
Make destructuring trait reference work

Closes #15031.
Fix spurious non-exhaustive errors for cross-crate struct variants
RegionFolder should only invoke callback on free regions.

In other words, Late-bound regions that occur non-free should be
skipped.

Fix #10846.
libsyntax: don't allow enum structs with no fields

Unit-like structs are written as `struct Foo;`, but we erroneously
accepted `struct Foo();` and took it to mean the same thing. Now we
don't, so use the `struct Foo;` form!

[breaking-change]
auto merge of #15061 : pnkfelix/rust/fsk-fix-issue-10846, r=nikomatsakis

In other words, Late-bound regions that occur non-free should be
skipped.

Fix #10846 (specifically the ICE, not the weakness in the current type inference).
auto merge of #15083 : edwardw/rust/destructure-trait-ref, r=pcwalton

Closes #15031.
auto merge of #15086 : jakub-/rust/xc-struct-variants-match, r=alexcrichton

Turns out field names of struct variants are not encoded in crate metadata.
auto merge of #15089 : tomjakubowski/rust/rustdoc-default-typarams-12291, r=alexcrichton

fix #12291
auto merge of #15098 : ben0x539/rust/nullary-tuple-struct, r=pcwalton

Reject `struct Foo();` to fix #15095.
Merge branch 'master' of github.com:mozilla/rust into ios