Use --crate-file-name to find out the library filename in dep-info test
Allow optional filename argument for --dep-info
auto merge of #11101 : jhasse/rust/patch-msys-quickfix, r=luqmana

I had this fixed but somehow forgot to commit it in my final patch. Sorry!
auto merge of #11046 : zargony/rust/dep-info, r=alexcrichton

Using --dep-info writes Makefile-compatible dependency info to a file that is by default named based on the crate source filename. This adds an optional string argument to the --dep-info option which allows to write dependency info to an arbitrary filename.

cc #10698
auto merge of #11109 : sfackler/rust/arc, r=alexcrichton

Closes #11097
auto merge of #11111 : alexcrichton/rust/issue-11039, r=brson

None of these primitives should be Freeze because sharing them in an Arc is a
very bad idea.

Closes #11039
uv: Suppress a warning by using an absolute path

Turns out libuv's build system doesn't like us telling them that the build
directory is a relative location, as it always spits out a warning about a
circular dependency being dropped. By using an absolute path, turns out the
warnings isn't spit out, who knew?

Closes #11067
auto merge of #11069 : alexcrichton/rust/issue-11067, r=brson

Turns out libuv's build system doesn't like us telling them that the build
directory is a relative location, as it always spits out a warning about a
circular dependency being dropped. By using an absolute path, turns out the
warnings isn't spit out, who knew?

Closes #11067
Add tests for 0-byte read propagation.

The two `Some(0)' used to be `None' before the patch, a zero-byte long
read exhausting a reader (and thereafter) still produce a `None'.
rustdoc: Add the ability to test code in comments

This adds support for the `--test` flag to rustdoc which will parse a crate,
extract all code examples in doc comments, and then run each test in the
extra::test driver.
std: Fix all code examples
extra: Fix all code examples
mk: Run doc tests as part of 'make check'

Don't run doc tests during make check-fast because it involves spawning lots of
processes.
doc: Expand rustdoc's documentation for testing
Fixing more doc tests
auto merge of #11120 : alexcrichton/rust/rustdoc-test, r=brson

This commit adds a `--test` flag to rustdoc to expose the ability to test code examples in doc strings. This work by using sundown's `lang` attribute to figure out how a code block should be tested. The format for this is:

```
1. ```rust
2. ```rust,ignore
3. ```rust,notest
4. ```rust,should_fail
```

Where `rust` means that rustdoc will attempt to test is, `ignore` means that it will not execute the test but it will compile it, `notest` means that rustdoc completely ignores it, and `should_fail` means that the test should fail. This commit also leverages `extra::test` for the testing harness in order to allow parallelization and whatnot.

I have fixed all existing code examples in libstd and libextra, but I have not made a pass through the crates in order to change code blocks to testable code blocks.

It may also be a questionable decision to require opting-in to a testable code block.

Finally, I kept our sugar in the doc suite to omit lines starting with `#` in documentation but still process them during tests.

Closes #2925
[std::ascii] Add .to_ascii_opt() and .into_ascii_opt() returning Option

… instead of failing.

Make them default methods on the trait, and also make .to_ascii()
a default method while we’re at it.

Conflicts:
	src/libstd/ascii.rs
auto merge of #11022 : spaolacci/rust/0read, r=alexcrichton

Could prevent callers from catching the situation and lead to e.g early
iterator terminations (cf. `Reader::read_byte`) since `None` is only to
be returned only on EOF.
rustc: Add a lint for the obsolete crate-level link attribute
extra: impl IterBytes for uuid::Uuid