vim: Tweak how comment nesting works

Don't try to match line comments inside of a comment block. That makes
no sense and can highlight differently for people who override their
highlights.

Similarly, don't match a doc-comment inside of a comment block. It
shouldn't be highlighted differently unless it's actually a doc-comment
(and nested comments are obviously not doc comments).

Fixes #12307.
Mark top level module as a crate in rustdoc, closes #12507
rustc: Don't deduplicate libraries linked to

Linker argument order with respect to libraries is important enough that we
shouldn't be attempting to filter out libraries getting passed through to the
linker. When linking with a native library that has multiple dependant native
libraries, it's useful to have control over the link argument order.
Remove unused type_is_pod function
Implement `has_dtor` method in TypeContents
Keep track of Enum's with destructors
Forbid moves out of static items Closes #10577
Replaced @List with ~List in Rust's recursive example
Renamed variables
Implement Eq for Cell<T>
Modified list::from_vec() to return List<T>
Implemented Items<'a, T> for List<T>
Replaced list::each with iter() in Arenas's Drop impl
Replaced list::each with iter() in get_region
Removed list::foldl() in favor of iter().fold()
Removed list::find() in favor of iter().find()
Removed list::any() in favor of iter().any()
Implemented list::len() based on Container trait
Implemented list::is_empty() based on Container trait
Removed deprecated list::{iter,each}() functions