mk: Fix defs for i686-w64-mingw32
Remove build system support for i686-pc-mingw32 triple in favor if i686-w64-mingw32
Fix bad error message copypasta
Add a Rust string ostream for LLVM
Add -C remark for LLVM optimization remarks

Fixes #17116.
Remove unused, unsound method on StrInterner

The string slices returned by `get_ref` can actually be
invalidated by calling `clear`.  Since this method is unused,
it is easiest to simply remove it.

Closes #17181
Improve memory usage of libsyntax
Replaces some usage of `.to_string()` with `.into_string()`

Signed-off-by: Peter Atashian <retep998@gmail.com>
doc: that felt like it needed a stronger break than what comma provides

Remove trailing whitespace while at it
These two lines are actually three.
Move info into individual modules.
Remove container guide.

This isn't really what guides are for, this information belongs in the
module-level docs.

Fixes #9314.
Properly implement Show for EnumSet
`rustc main.rs` generates main binary file
impl ExactSize for vec::MoveItems
auto merge of #17200 : brson/rust/wintrip-w64, r=cmr

This updates our build system to prefer `i686-w64-mingw32` as the 32-bit windows triple instead of `i686-pc-mingw32`. This is an interim step to make the build artifacts consistent until https://github.com/rust-lang/rust/issues/15717 is done.
auto merge of #16887 : steveklabnik/rust/guide_iterators, r=alexcrichton

This isn't ready to merge yet.

The 'containers and iterators' guide is basically just a collection of stuff that should be in the module definitions. So I'm moving the guide to just an 'iterators' guide, and moved the info that was there into the right places.

So, is this a good path forward, and is all of the information still correct?
Add tests for a few A-needstest issues

Closes #7813.
Closes #10902.
Closes #11374.
Closes #11714.
Closes #12920.
Closes #13202.
Closes #13624.
Closes #14039.
Closes #15730.
Closes #15783.
auto merge of #17208 : kmcallister/rust/llvm-diagnostics, r=thestinger

I would like to map this information back to AST nodes, so that we can print remarks with spans, and so that remarks can be enabled on a per-function basis.  Unfortunately, doing this would require a lot more code restructuring — for example, we currently throw away the AST map and lots of other information before LLVM optimizations run.  So for the time being, we print the remarks with debug location strings from LLVM.  There's a warning if you use `-C remark` without `--debuginfo`.

Fixes #17116.
Update error messages in compile-fail tests
Take core as a dependency on librlibc. This is needed so that it can
see the lang-items for Sized etc. @acrichto and @thestinger had no
objections.