Apply lint attrs to individual "use" declarations

Fixes #10534
Remove special rooting code from trans

[breaking-change]

cc #11586
rustc: remove usage of root_map from astencode
rustc: Remove root_map usage from _match
rustc: Remove root_map usage from lifetime
rustc: Remove root_map entirely
Update tests and move other tests around
rustc: Remove obsolete error_out_of_root_scope variant
Treat @T like ~T in borrowck

`@` pointers used to have special rooting and regions management. With `@`
moving to standalone library, we don't need to keep that special
treatment around. This patch modifies the way `@` pointers are treated by
treating them as if they were `~` pointers

Region checker and borrow checker were modified in this patch.

Closes #11586

[breaking-change]
rustc: Remove moved_variables_set
syntax: fix de-@rooting fallout
rustc: fix de-@rooting fallout
Register new snapshots

These are the first successful snapshots after the LLVM upgrade, built with LLVM
that requires C++11
Calibrate span for method call error messages

Specifically, the method parameter cardinality mismatch or missing
method error message span now gets method itself exactly. It was the
whole expression.

Closes #9390
Closes #13684
Closes #13709
Prevent unsized types being stored in variables

Closes #13376.
rustdoc: fix de-@rooting fallout
auto merge of #13559 : FlaPer87/rust/remove-special-root, r=nikomatsakis

This patch removes the special auto-rooting for `@` from the borrow checker. With `@` moving into a library, it doesn't make sense to keep this code around anymore. It also simplifies `trans` by removing root checking from there 

@nikomatsakis

Closes: #11586
Fix Vim indent regressions from #13600.

The change in #13600 was incorrect, containing a bad regular expression;
inside an indent function, errors are silently ignored (and the ``~=``
operation will return 0), so it just always failed, causing the cases
that were supposed to be caught to not be caught and making things like
the ``match`` example shown above or struct field definitions regress.

I have fixed the regular expression to what it should have been. This is
still imperfect, of course, not handling cases like where the first
argument to a function is a function call (``foo(bar(),``), but it'll do
for now.
auto merge of #13713 : edwardw/rust/methodcall-span, r=alexcrichton

Specifically, the method parameter cardinality mismatch or missing
method error message span now gets method itself exactly. It was the
whole expression.

Closes #9390
Closes #13684
Closes #13709
auto merge of #13715 : nick29581/rust/unsized-assign2, r=nikomatsakis

Closes #13376.