Commit Graph

62233 Commits

Author SHA1 Message Date
Dawid Ciężarkiewicz
bcae6a3734 Reorder match checks in create_dir_all
Avoid doing `is_dir` in the fast path.
2017-03-17 20:15:05 -07:00
Dawid Ciężarkiewicz
c3e2eaf4cb Fix problems found on Windows in dir_create_all
Ignore the type of error altogether. The rationale is: it doesn't matter
what was the problem if the directory is there. In the previous versions
if the directory was there already we wouldn't even attempt to create
it, so we wouldn't know about the problem neither.

Make test path length smaller in `concurrent_recursive_mkdir` test.
2017-03-17 20:15:05 -07:00
Dawid Ciężarkiewicz
a51c6aaf84 Break line longer than 100 characters 2017-03-17 20:15:05 -07:00
Dawid Ciężarkiewicz
f2adee74a3 Add concurrent_recursive_mkdir test 2017-03-17 20:15:05 -07:00
Dawid Ciężarkiewicz
0ec28b796d Fix new version of create_dir_all
It will now correctly fail on existing non-directories.
2017-03-17 20:15:05 -07:00
David Roundy
db00ba9eb2 Fix race condition in fs::create_dir_all
It is more robust to not fail if any directory in a path was created
concurrently. This change lifts rustc internal `create_dir_racy` that
was created to handle such conditions to be new `create_dir_all`
implementation.
2017-03-17 20:15:05 -07:00
bors
a559452b05 Auto merge of #40598 - frewsxcv:rollup, r=frewsxcv
Rollup of 23 pull requests

- Successful merges: #40387, #40433, #40452, #40456, #40457, #40458, #40463, #40466, #40467, #40495, #40496, #40497, #40499, #40500, #40503, #40505, #40512, #40514, #40517, #40520, #40536, #40545, #40586
- Failed merges:
2017-03-17 17:26:52 +00:00
bors
9fae0405e9 Auto merge of #40575 - alexcrichton:update-sccache, r=alexcrichton
travis: Update sccache binary

I've built a local copy with mozilla/sccache#79 and mozilla/sccache#78. Let's
see if that helps #40240!
2017-03-17 14:32:28 +00:00
Alex Crichton
bbfdb56910 travis: Use hide_output in dist-powerpc64-linux
Looks like we blew the 4MB cap, so let's hide some more output.
2017-03-17 07:12:56 -07:00
Corey Farwell
3bec563958 Rollup merge of #40586 - steveklabnik:add-unstable-sort-to-unstable-book, r=frewsxcv
add sort_unstable to unstable book

cc #40585
2017-03-17 08:49:10 -04:00
Corey Farwell
b71e5f7b1f Rollup merge of #40545 - alexcrichton:retry-download-openssl, r=nikomatsakis
rustbuild: Retry downloads of OpenSSL source

We need this to compile Cargo and we download it at build time, but as like all
other network requests it has a chance of failing. This commit moves the source
of the tarball to a mirror (S3 seems semi-more-reliable most of the time) and
also wraps the download in a retry loop.

cc #40474
2017-03-17 08:49:09 -04:00
Corey Farwell
dc1deeb9b4 Rollup merge of #40536 - kevinmehall:dedup_docs_for_dedup_by, r=steveklabnik
Fix documentation for Vec::dedup_by.

The previous docstring was copied from dedup_by_key.
2017-03-17 08:49:08 -04:00
Corey Farwell
2ba4a63696 Rollup merge of #40520 - steveklabnik:link-core-slice, r=alexcrichton
Link core::slice to std::slice
2017-03-17 08:49:07 -04:00
Corey Farwell
6831180ca2 Rollup merge of #40517 - rust-lang:release-notes-tweak, r=alexcrichton
Remove incorrect feature from the 1.16 relnotes

According to @golddranks https://internals.rust-lang.org/t/rust-1-16-0-prerelease-testing/4953/3

r? @brson
2017-03-17 08:49:06 -04:00
Corey Farwell
f90fab5b26 Rollup merge of #40514 - stjepang:inline-then-ordering, r=alexcrichton
Inline functions Ordering::{then, then_with}

@jongiddy noticed bad performance due to the lack of inlining on `then`
and `then_with`. I confirmed that inlining really is the culprit by
creating a custom `then` function and repeating his benchmark on my
machine with and without the `#[inline]` attribute.

The numbers were exactly the same on my machine without the attribute.
With `#[inline]` I got the same performance as I did with manually
inlined implementation.

The problem was reported in #37053.
2017-03-17 08:49:05 -04:00
Corey Farwell
1909b62e79 Rollup merge of #40512 - nodakai:patch-1, r=alexcrichton
.gitmodules: use official URLs w/o redirect
2017-03-17 08:49:04 -04:00
Corey Farwell
f47a377c6e Rollup merge of #40505 - frewsxcv:hash-docs, r=alexcrichton
A few improvements to the `core::hash` top-level docs.

Primarily opened to address the concerns brought up in
https://github.com/rust-lang/rust/issues/40498.

* run rustfmt on code blocks
* use `DefaultHasher` instead of deprecated `SipHasher`
* rename `hash` to `calculate_hash` to prevent confusion with the `hash`
  method
2017-03-17 08:49:03 -04:00
Corey Farwell
d7a09d4e65 Rollup merge of #40503 - swgillespie:thread-hack-removal, r=sfackler
std: remove a workaround for privacy limitations

`std:🧵:Thread` implements a non-exported `NewThread` trait to allow for internal-only use of `Thread::new`. Nowadays we have `pub(crate)`, which accomplishes the same thing but much more idiomatically.

Rustdoc handles this correctly (I checked and I didn't see `Thread::new` on the rustdoc entry for `Thread` with this change), and the stage1 `rustc` emits the correct error still (I'm assuming that the stage1 compiler uses my `libstd`?):

```
$ ./build/x86_64-apple-darwin/stage1/bin/rustc test.rs
error: method `new` is private
 --> test.rs:4:18
  |
4 |     let thread = thread::Thread::new(None);
  |                  ^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error
```
2017-03-17 08:49:02 -04:00
Corey Farwell
5aab3b97af Rollup merge of #40500 - estebank:turbofish-help, r=pnkfelix
Point out correct turbofish usage on `Foo<Bar<Baz>>`

Whenever we parse a chain of binary operations, as long as the first
operation is `<` and the subsequent operations are either `>` or `<`,
present the following diagnostic help:

    use `::<...>` instead of `<...>` if you meant to specify type arguments

This will lead to spurious recommendations on situations like
`2 < 3 < 4` but should be clear from context that the help doesn't apply
in that case.

Fixes #40396.
2017-03-17 08:49:01 -04:00
Corey Farwell
e389f6a67e Rollup merge of #40499 - ericfindlay:master, r=steveklabnik
Corrected very minor documentation detail about Unicode and Japanese

Japanese half-width and full-width romaji characters do have upper and lowercase according Unicode (but other Japanese characters do not). For example,
` assert_eq!('\u{FF21}'.to_lowercase().collect::<String>(),"\u{FF41}");`

r? @steveklabnik
2017-03-17 08:49:00 -04:00
Corey Farwell
3ebce67ca3 Rollup merge of #40497 - wesleywiser:fix_sidebar, r=GuillaumeGomez
Fix sidebar not extending to the bottom of the page

Fixes #40459
2017-03-17 08:48:59 -04:00
Corey Farwell
f9236bdfcc Rollup merge of #40496 - projektir:docs_number_headings, r=frewsxcv
Using X headings #39850

Fix for issue #39850, the headings should now be 1, 2, and 3.
2017-03-17 08:48:58 -04:00
Corey Farwell
4fbd8849d9 Rollup merge of #40495 - llogiq:format-docs, r=steveklabnik
fix format grammar

This is just a trivial change to get the escaped squigglies into the grammar.

r? @steveklabnik
2017-03-17 08:48:57 -04:00
Corey Farwell
dcf5f071a3 Rollup merge of #40467 - projektir:readme_docs, r=steveklabnik
Updating README.md to point to the correct doc location
2017-03-17 08:48:56 -04:00
Corey Farwell
127c3ad362 Rollup merge of #40466 - projektir:outdated_docs_highlighting, r=steveklabnik
Remove doc about highlighting code in other languages #40301

This doesn't appear to be true any longer, so removing it to avoid confusion. See #40301

Thoughts:
- may be a good idea to remove "Let's discuss the details of these code blocks.", as there's not much being discussed at this point;
- does `text` still work?

r? @steveklabnik
2017-03-17 08:48:55 -04:00
Corey Farwell
cfca6fccb9 Rollup merge of #40463 - tshepang:nit, r=nikomatsakis
some style fixes
2017-03-17 08:48:54 -04:00
Corey Farwell
695d7ecd05 Rollup merge of #40458 - frewsxcv:frewsxcv-osstr, r=GuillaumeGomez
Add doc examples for `OsStr`, `OsString`.

None
2017-03-17 08:48:53 -04:00
Corey Farwell
dee6989b43 Rollup merge of #40457 - frewsxcv:frewsxcv-macos, r=steveklabnik
Update usages of 'OSX' (and other old names) to 'macOS'.

As of last year with version 'Sierra', the Mac operating system is now
called 'macOS'.
2017-03-17 08:48:52 -04:00
Corey Farwell
69717170a4 Rollup merge of #40456 - frewsxcv:frewsxcv-docs-function-parens, r=GuillaumeGomez
Remove function invokation parens from documentation links.

This was never established as a convention we should follow in the 'More
API Documentation Conventions' RFC:

https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md
2017-03-17 08:48:51 -04:00
Corey Farwell
739d89aef5 Rollup merge of #40452 - frewsxcv:frewsxcv-unstable-docs, r=GuillaumeGomez
Add basic documentation/examples for six unstable features.
2017-03-17 08:48:50 -04:00
Corey Farwell
01ad185071 Rollup merge of #40433 - mattico:test-issue-29595, r=estebank
Add test for issue #29595

Closes #29595

Couldn't get this to run locally, all the compile-fail tests are ignored... let's see what Travis says.
2017-03-17 08:48:49 -04:00
Corey Farwell
70e7327b4e Rollup merge of #40387 - tbu-:pr_doc_ptr_write2, r=steveklabnik
Reword the non-dropping of `src` for `ptr::write{,_unaligned}`

@niconii Is it OK if I put your wording into the documentation?
CC @nagisa
2017-03-17 08:48:48 -04:00
bors
f77ee2ff0f Auto merge of #40539 - clarcharr:no_default_path, r=alexcrichton
Removes Default for Box<Path>.

This was not supposed to be added. cc @alexcrichton
2017-03-17 11:55:34 +00:00
bors
b3234cd427 Auto merge of #40526 - brson:docs-req, r=alexcrichton
Make docs required again

Completely untested. Fixes https://github.com/rust-lang-nursery/rustup.rs/issues/903

r? @alexcrichton cc @steveklabnik
2017-03-17 09:22:09 +00:00
Corey Farwell
bc6eecd0c2 Merge branch 'master' into frewsxcv-osstr 2017-03-16 21:56:52 -04:00
steveklabnik
3d01e1ada9 add sort_unstable to unstable book
cc #40585
2017-03-16 17:47:30 -04:00
Alex Crichton
ec829fe00e travis: Update sccache binary
I've built a local copy with mozilla/sccache#79 and mozilla/sccache#78. Let's
see if that helps #40240!
2017-03-16 07:55:15 -07:00
Clar Charr
0739ecec61 Removes Default for Box<Path>. 2017-03-15 11:36:13 -04:00
Kevin Mehall
e66b3a20c8 Fix documentation for Vec::dedup_by.
The previous docstring was copied from dedup_by_key.
2017-03-15 07:56:33 -07:00
Alex Crichton
5de04060ba rustbuild: Retry downloads of OpenSSL source
We need this to compile Cargo and we download it at build time, but as like all
other network requests it has a chance of failing. This commit moves the source
of the tarball to a mirror (S3 seems semi-more-reliable most of the time) and
also wraps the download in a retry loop.

cc #40474
2017-03-15 07:13:59 -07:00
bors
0aeb9c1297 Auto merge of #40383 - ishitatsuyuki:easy-dist-analysis, r=alexcrichton
rustbuild: Make save-analysis an option

This makes save-analysis an option independent from the release channel.

The CI build scripts have been modified to enable the flag.

*Merge with caution.* I haven't tested this, and this can cause nightly breakage.
2017-03-15 13:50:13 +00:00
bors
11a33760ec Auto merge of #40212 - SimonSapin:utf8error-resume-from, r=aturon
Add Utf8Error::error_len, to help incremental and/or lossy decoding.

Without this, code outside of the standard library needs to reimplement most of the logic `from_utf8` to interpret the bytes after `valid_up_to()`.
2017-03-15 07:04:20 +00:00
bors
71d7b29475 Auto merge of #40009 - clarcharr:box_to_buf, r=alexcrichton
Leftovers from #39594; From<Box> impls

These are a few more impls that follow the same reasoning as those from #39594.

What's included:
* `From<Box<str>> for String`
* `From<Box<[T]>> for Vec<T>`
* `From<Box<CStr>> for CString`
* `From<Box<OsStr>> for OsString`
* `From<Box<Path>> for PathBuf`
* `Into<Box<str>> for String`
* `Into<Box<[T]>> for Vec<T>`
* `Into<Box<CStr>> for CString`
* `Into<Box<OsStr>> for OsString`
* `Into<Box<Path>> for PathBuf`
* `<Box<CStr>>::into_c_string`
* `<Box<OsStr>>::into_os_string`
* `<Box<Path>>::into_path_buf`
* Tracking issue for latter three methods + three from previous PR.

Currently, the opposite direction isn't doable with `From` (only `Into`) because of the separation between `liballoc` and `libcollections`. I'm holding off on those for a later PR.
2017-03-15 04:24:10 +00:00
Eric Findlay
18a8494485 Ammended minor documentation detail abour Unicode cases. 2017-03-15 10:05:55 +09:00
Brian Anderson
3554ff32db Make docs required again 2017-03-14 19:31:20 +00:00
Esteban Küber
e3b8550a60 Point out correct turbofish usage on Foo<Bar<Baz>>
Whenever we parse a chain of binary operations, as long as the first
operation is `<` and the subsequent operations are either `>` or `<`,
present the following diagnostic help:

    use `::<...>` instead of `<...>` if you meant to specify type arguments

This will lead to spurious recommendations on situations like
`2 < 3 < 4` but should be clear from context that the help doesn't apply
in that case.
2017-03-14 12:09:21 -07:00
steveklabnik
8b7c7f3fa5 Link core::slice to std::slice 2017-03-14 13:42:12 -04:00
Steve Klabnik
cc08edc854 Remove incorrect feature from the 1.16 relnotes 2017-03-14 11:16:34 -04:00
Corey Farwell
6adbbfc6ba Add doc example for OsString::into_boxed_os_str. 2017-03-14 09:30:18 -04:00
Corey Farwell
bda57dbc05 Add doc example for OsString::shrink_to_fit. 2017-03-14 09:30:00 -04:00