mandelbrot: fix overlapping buffers
lint: add method to get level of a specific lint.

This allows lint traversals to emit more information (when a lint is
non-allow), or avoid doing expensive computations (when a lint is
allow).
Add examples for DList methods rotate_forward, rotate_backward, append, prepend and insert_when
Removed `index_to_bitset` from the dataflow context.

Part of addressing 15019.
Removed the `_frozen` methods from dataflow API.

Calls to methods like `each_bit_on_entry_frozen` and
`each_gen_bit_frozen` now go to the `each_bit_on_entry` and
`each_gen_bit` methods.
auto merge of #15737 : huonw/rust/lint-level-here, r=pnkfelix

This allows lint traversals to emit more information (when a lint is
non-allow), or avoid doing expensive computations (when a lint is
allow).
rustc: #[crate_name] and --crate-name must match

Part of the original discussions around the `--crate-name` flag brought up that
mass confusion can arise when the flag specifies a different name than is
contained in the crate.

The current primary use case of the `--crate-name` flag is through cargo and
not requiring a `#[crate_name]` attribute, but if the `#[crate_name]` attribute
is specified it will likely go awry when the two names deviate from one another.
This commit requires that if both are provided they both match to prevent this
confusion.
librustc: Implement unboxed closures with mutable receivers
auto merge of #14539 : pcwalton/rust/unboxed-closures, r=pnkfelix

@nikomatsakis r?
Assign more diagnostic codes
auto merge of #15742 : pnkfelix/rust/fsk-fix-15019, r=pcwalton

Removed `index_to_bitset` field and `_frozen` methods.

Drive-by: Added some missing docs on the `each_bit` method.

Drive-by: Put in a regular pattern: when calling `compute_id_range`, ensure `words_per_id > 0` by either asserting it or checking and returning early.  (The prior code did the latter in a few cases where necessary, but debugging is much aided by the asserts.)

Fix #15019.
librustc: Emit enum variant constructor at callsite instead of via a call to a function.
librustc: Emit tuple struct constructor at callsite instead of via a call to a function.
librustc: Only emit constructor functions as necessary.
librustc: Set enum discriminant only after field translation.
Ignore one test.
auto merge of #15743 : Ryman/rust/mandelbrot_fix, r=alexcrichton

Matches the official sample output (N=200) again.

cc #15408
rustc: Mix extra-filename in temp outputs

When invoking the compiler in parallel, the intermediate output of the object
files and bytecode can stomp over one another if two crates with the same name
are being compiled.

The output file is already being disambiguated with `-C extra-filename`, so this
commit alters the naming of the temporary files to also mix in the extra
filename to ensure that file names don't clash.
auto merge of #15686 : alexcrichton/rust/same-crate-name, r=kballard

The first is to require that `#[crate_name]` and `--crate-name` always match (if both are specified). The second is to fix parallel compilation in cargo by mixing in `-C extra-filename` into the temporary outputs of the compiler.
auto merge of #15752 : nham/rust/dlist_docs, r=alexcrichton

Someone rightfully complained in IRC that DList was lacking examples. Here are some.