debuginfo: Let LLDB tests run in parallel again since our min-supported version has no problems with that.
debuginfo: Print more output in lldb_batchmode.py for better error logs.
auto merge of #18223 : nikomatsakis/rust/coherence-orphan-18222, r=pcwalton

Adjust orphan rules to consider all input types, not just self type.

Fixes #18222.

r? @pcwalton
Guide: Adapt range values to variable name
Guide: Change >= to > in closure
auto merge of #18230 : cakebaker/rust/adapt_range_value_to_variable_name, r=steveklabnik

 The variable name <code>one_to_one_hundred</code> implies that it will contain a collection with the values from 1 to 100, but the collection contains the values from 0 to 99. This patch changes the ranges to produce a collection with the values from 1 to 100.
Use local cache when there are unbound type variables and where clauses in scope.

Fixes #18209.
auto merge of #17846 : tomjakubowski/rust/rustdoc-hide-private-traits, r=alexcrichton

Fix #16563
auto merge of #18092 : michaelwoerister/rust/lldb-test-versioning, r=alexcrichton

Now that there are build bots with a stable enough LLDB version on OSX we can finally let the tests run on every PR!
:joy_cat:
Fixed single quote around string slice and simplify example

This patch contains a fix for:
- single quote around string slice
- string: String is confusing for newbies and it's more readble if the
  argument name is different that the argument type name
auto merge of #18224 : nikomatsakis/rust/issue-17594, r=alexcrichton

Add test for issue #17594

Fixes #17594
Add run-pass-valgrind tests

Closes #16914
Move some tests to run-pass-valgrind
Make rpass-valgrind work with pretty
Remove support for .rc files from test.mk
Part of #6993. Moved a bunch of uses of Ident to Name
Error if we should be able to Valgrind but can't
vim: Fix :RustRun when cwd has a space in it
auto merge of #17868 : nick29581/rust/valgrind, r=alexcrichton

r? @alexcrichton
Fix codegen breaking aliasing rules for functions with sret results

This reverts commit a0ec902e239b2219edf1a18b036dd32c18d3be42 "Avoid
unnecessary temporary on assignments".

Leaving out the temporary for the functions return value can lead to a
situation that conflicts with rust's aliasing rules.

Given this:

````rust
fn func(f: &mut Foo) -> Foo { /* ... */ }

fn bar() {
    let mut foo = Foo { /* ... */ };

    foo = func(&mut foo);
}
````

We effectively get two mutable references to the same variable `foo` at
the same time. One for the parameter `f`, and one for the hidden
out-pointer. So we can't just `trans_into` the destination directly, but
must use `trans` to get a new temporary slot from which the result can
be copied.