62256 Commits

Author SHA1 Message Date
Corey Farwell
9032ceae97 Rollup merge of - estebank:issue-18150, r=jonathandturner
Point to let when modifying field of immutable variable

Point at the immutable local variable when trying to modify one of its
fields.

Given a file:

```rust
struct Foo {
    pub v: Vec<String>
}

fn main() {
    let f = Foo { v: Vec::new() };
    f.v.push("cat".to_string());
}
```

present the following output:

```
error: cannot borrow immutable field `f.v` as mutable
 --> file.rs:7:13
  |
6 |    let f = Foo { v: Vec::new() };
  |        - this should be `mut`
7 |    f.v.push("cat".to_string());
  |    ^^^

error: aborting due to previous error
```

Fix .
2017-03-19 10:18:13 -04:00
Corey Farwell
7b686ce4ca Rollup merge of - tschottdorf:promotable-rfc, r=eddyb
Add feature gate for rvalue-static-promotion

Probably needs more tests (which ones?) and there may be other things that need to be done. Also not sure whether the version that introduces the flag is really `1.15.1`.

See https://github.com/rust-lang/rfcs/pull/1414.

Updates .
2017-03-19 10:18:12 -04:00
bors
9c15de4fd5 Auto merge of - jseyfried:path_and_tokenstream_attr, r=nrc
`TokenStream`-based attributes, paths in attribute and derive macro invocations

This PR
 - refactors `Attribute` to use  `Path` and `TokenStream` instead of `MetaItem`.
 - supports macro invocation paths for attribute procedural macros.
   - e.g. `#[::foo::attr_macro] struct S;`, `#[cfg_attr(all(), foo::attr_macro)] struct S;`
 - supports macro invocation paths for derive procedural macros.
   - e.g. `#[derive(foo::Bar, super::Baz)] struct S;`
 - supports arbitrary tokens as arguments to attribute procedural macros.
   - e.g. `#[foo::attr_macro arbitrary + tokens] struct S;`
 - supports using arbitrary tokens in "inert attributes" with derive procedural macros.
   - e.g. `#[derive(Foo)] struct S(#[inert arbitrary + tokens] i32);`
where `#[proc_macro_derive(Foo, attributes(inert))]`

r? @nrc
2017-03-19 10:56:08 +00:00
bors
bfc49b1092 Auto merge of - aturon:stab-1.17, r=alexcrichton
Library stabilizations for 1.17

Details of the stabilizations are available in the commits. Includes only library stabilizations; there are a couple of compiler stabilizations that should also be done for 1.17.

Will need a beta backport, which I will create after approval.

r? @alexcrichton
2017-03-19 01:40:57 +00:00
bors
4853584000 Auto merge of - alexcrichton:update-cargo-again, r=alexcrichton
Update the cargo submodule again

Unfortunately it was reverted back to a broken state in
e06c51553ddc202a79f2c0b76822ad56c4a30f80 by accident, so let's bring it forward
again!

Closes https://github.com/rust-lang/cargo/issues/3844
2017-03-18 15:22:29 +00:00
Alex Crichton
9fb737b7b5 Update the cargo submodule again
Unfortunately it was reverted back to a broken state in
e06c51553ddc202a79f2c0b76822ad56c4a30f80 by accident, so let's bring it forward
again!
2017-03-17 20:47:35 -07:00
bors
df3ab375f3 Auto merge of - alexcrichton:static-libcurl, r=brson
travis: Ensure cargo links libcurl statically

We don't want a dynamic dependency in the library that we ship, so link it
statically by configuring curl-sys's build script to not pick up the system
version via pkg-config.
2017-03-18 03:31:58 +00:00
bors
703b246287 Auto merge of - wagenet:fix-old-macos, r=alexcrichton
Target builds for older macOS

Fix 
2017-03-18 00:40:10 +00:00
Alex Crichton
1241a88fa9 Minor fixups to fix tidy errors 2017-03-17 13:28:53 -07:00
Aaron Turon
a8f4a1bd98 Stabilize rc_raw feature, closes 2017-03-17 13:28:53 -07:00
Aaron Turon
48890d4971 Stabilize ordering_chaining, closes 2017-03-17 13:28:53 -07:00
Aaron Turon
37b38a2f75 Stabilize btree_range, closes 2017-03-17 13:28:37 -07:00
Aaron Turon
10510aefb1 Stabilize ptr_eq feature, closes 2017-03-17 13:28:37 -07:00
Aaron Turon
9511fe60ce Stabilize process_abort feature, closes 2017-03-17 13:28:37 -07:00
Aaron Turon
d38ea8b371 Stabilize ptr_unaligned feature, closes 2017-03-17 13:28:37 -07:00
Aaron Turon
65b7c4ed31 Stabilize expect_err feature, closes 2017-03-17 13:28:37 -07:00
Aaron Turon
33a5665988 Stabilize move_cell feature, closes 2017-03-17 13:28:37 -07:00
bors
a559452b05 Auto merge of - frewsxcv:rollup, r=frewsxcv
Rollup of 23 pull requests

- Successful merges: , , , , , , , , , , , , , , , , , , , , , , 
- Failed merges:
2017-03-17 17:26:52 +00:00
bors
9fae0405e9 Auto merge of - 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 !
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 - steveklabnik:add-unstable-sort-to-unstable-book, r=frewsxcv
add sort_unstable to unstable book

cc 
2017-03-17 08:49:10 -04:00
Corey Farwell
b71e5f7b1f Rollup merge of - 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 
2017-03-17 08:49:09 -04:00
Corey Farwell
dc1deeb9b4 Rollup merge of - 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 - 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 - 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 - 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 .
2017-03-17 08:49:05 -04:00
Corey Farwell
1909b62e79 Rollup merge of - 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 - 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 - 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 - 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 .
2017-03-17 08:49:01 -04:00
Corey Farwell
e389f6a67e Rollup merge of - 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 - wesleywiser:fix_sidebar, r=GuillaumeGomez
Fix sidebar not extending to the bottom of the page

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

Fix for issue , the headings should now be 1, 2, and 3.
2017-03-17 08:48:58 -04:00
Corey Farwell
4fbd8849d9 Rollup merge of - 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 - 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 - projektir:outdated_docs_highlighting, r=steveklabnik
Remove doc about highlighting code in other languages 

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

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 - tshepang:nit, r=nikomatsakis
some style fixes
2017-03-17 08:48:54 -04:00
Corey Farwell
695d7ecd05 Rollup merge of - 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 - 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 - 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 - 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 - mattico:test-issue-29595, r=estebank
Add test for issue 

Closes 

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 - 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 - 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 - 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 
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 !
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