]> git.lizzy.rs Git - rust.git/log
rust.git
7 years agoRollup merge of #35597 - tshepang:it-is-a-slice, r=steveklabnik
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:50 +0000 (20:29 +0300)]
Rollup merge of #35597 - tshepang:it-is-a-slice, r=steveklabnik

doc: a value of type `&str` is called a "string slice"

7 years agoRollup merge of #35596 - crypto-universe:E0254_style_and_tests, r=jonathandturner
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:50 +0000 (20:29 +0300)]
Rollup merge of #35596 - crypto-universe:E0254_style_and_tests, r=jonathandturner

Add label to E0254

This issue #35513 is a part of #35233.
r? @jonathandturner

7 years agoRollup merge of #35594 - shepmaster:configure-llvm-39, r=alexcrichton
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:50 +0000 (20:29 +0300)]
Rollup merge of #35594 - shepmaster:configure-llvm-39, r=alexcrichton

Allow compiling against a custom LLVM 3.9 installation

7 years agoRollup merge of #35588 - Antti:fix-atomics-docs, r=alexcrichton
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:50 +0000 (20:29 +0300)]
Rollup merge of #35588 - Antti:fix-atomics-docs, r=alexcrichton

Use an existing constant name as an example.

By reading atomics documentation I tried to use `INIT_ATOMIC_BOOL`, which I couldn't find. Turns out it was renamed to `ATOMIC_BOOL_INIT`.

7 years agoRollup merge of #35586 - shyaamsundhar:SqushCom, r=jonathandturner
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:49 +0000 (20:29 +0300)]
Rollup merge of #35586 - shyaamsundhar:SqushCom, r=jonathandturner

E0248, E0267 & E0268 Change into issue format

r? @jonathandturner  Part of #35391, #35519 and #35520. I have squashed all changes into a single commit. Please review the changes.

E0248 Change in issue format

E0267 UT New Format

E0268 UT New Format

E0267 & E0268 New Error Format

7 years agoRollup merge of #35577 - japaric:relax, r=alexcrichton
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:49 +0000 (20:29 +0300)]
Rollup merge of #35577 - japaric:relax, r=alexcrichton

add -mrelax-relocations=no to i686-musl and i586-gnu

I've been experiencing #34978 with these two targets. This applies the
hack in #35178 to these targets as well.

r? @alexcrichton

7 years agoRollup merge of #35574 - badboy:emscripten-test-fixes, r=brson
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:49 +0000 (20:29 +0300)]
Rollup merge of #35574 - badboy:emscripten-test-fixes, r=brson

Emscripten test fixes

This picks up parts of #31623 to disable certain tests that emscripten can't run, as threads/processes are not supported.
I re-applied @tomaka's changes manually, I can rebase those commits with his credentials if he wants.

It also disables jemalloc for emscripten (at least in Rustbuild, I have to check if there is another setting for the same thing in the old makefile approach).

This should not impact anything for normal builds.

7 years agoRollup merge of #35573 - wdv4758h:E0138, r=jonathandturner
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:49 +0000 (20:29 +0300)]
Rollup merge of #35573 - wdv4758h:E0138, r=jonathandturner

Update E0138 to new format

Part of #35233
Fix #35510
r? @jonathandturner

![e0138](https://cloud.githubusercontent.com/assets/2716047/17562415/7200d93c-5f5d-11e6-98ff-e15c29f40e03.png)

Question: How can I only underline the function name ? I have observed the debug output and the struct of item, but I can't find the `Span` for function name. Should I modify the struct I get to save function name's position or there is another way to get it ? (I can only find `Span`s for function attributes, inputs, outputs, blocks)

7 years agoRollup merge of #35558 - lukehinds:master, r=nikomatsakis
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:49 +0000 (20:29 +0300)]
Rollup merge of #35558 - lukehinds:master, r=nikomatsakis

Update error message for E0253 #35512

Fixes #35512. Part of #35233.

7 years agoRollup merge of #35539 - cgswords:ts_concat, r=nrc
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:49 +0000 (20:29 +0300)]
Rollup merge of #35539 - cgswords:ts_concat, r=nrc

Implemented a smarter TokenStream concatenation system

The new algorithm performs 'aggressive compacting' during concatenation as follows:

- If the nodes' combined total total length is less than 32, we copy both of
   them into a new vector and build a new leaf node.
- If one node is an internal node and the other is a 'small' leaf (length<32),
   we recur down the internal node on the appropriate side.
 - Otherwise, we construct a new internal node that points to them as left and
 right.

This should produce notably better behavior than the current concatenation implementation.

7 years agoRollup merge of #35533 - frewsxcv:22984, r=brson
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:48 +0000 (20:29 +0300)]
Rollup merge of #35533 - frewsxcv:22984, r=brson

Add regression test for #22894.

None

7 years agoRollup merge of #35491 - sanxiyn:pub-restricted-span, r=nikomatsakis
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:48 +0000 (20:29 +0300)]
Rollup merge of #35491 - sanxiyn:pub-restricted-span, r=nikomatsakis

Correct span for pub_restricted field

Fix #35435.

7 years agoRollup merge of #35447 - frewsxcv:vec-into-iter-as-slice, r=alexcrichton
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:48 +0000 (20:29 +0300)]
Rollup merge of #35447 - frewsxcv:vec-into-iter-as-slice, r=alexcrichton

Introduce `as_slice`/`as_mut_slice` methods on `std::vec::IntoIter` struct.

Similar to the `as_slice` method on `core::slice::Iter` struct.

7 years agoRollup merge of #35444 - alexcrichton:optimize-catch-unwind, r=brson
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:48 +0000 (20:29 +0300)]
Rollup merge of #35444 - alexcrichton:optimize-catch-unwind, r=brson

std: Optimize panic::catch_unwind slightly

The previous implementation of this function was overly conservative with
liberal usage of `Option` and `.unwrap()` which in theory never triggers. This
commit essentially removes the `Option`s in favor of unsafe implementations,
improving the code generation of the fast path for LLVM to see through what's
happening more clearly.

cc #34727

7 years agoRollup merge of #35392 - malbarbo:cell-from, r=brson
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:47 +0000 (20:29 +0300)]
Rollup merge of #35392 - malbarbo:cell-from, r=brson

Implement From for Cell, RefCell and UnsafeCell

Considering that `From` is implemented for `Box`, `Rc` and `Arc`, it seems [reasonable](https://internals.rust-lang.org/t/implementing-from-t-for-other-std-types/3744) to implement it for `Cell`, `RefCell` and `UnsafeCell`.

7 years agoRollup merge of #34941 - qolop:patch-2, r=apasel422
Eduard-Mihai Burtescu [Sun, 14 Aug 2016 17:29:47 +0000 (20:29 +0300)]
Rollup merge of #34941 - qolop:patch-2, r=apasel422

Fix typo (privledge->privilege)

7 years agoAuto merge of #35534 - michaelwoerister:fix-const-collection2, r=nikomatsakis
bors [Sun, 14 Aug 2016 13:42:16 +0000 (06:42 -0700)]
Auto merge of #35534 - michaelwoerister:fix-const-collection2, r=nikomatsakis

Make the translation item collector handle *uses* of 'const' items instead of declarations.

This should fix issue #34754.

7 years agoAuto merge of #34206 - petrochenkov:pipdeny, r=nikomatsakis
bors [Sun, 14 Aug 2016 10:50:50 +0000 (03:50 -0700)]
Auto merge of #34206 - petrochenkov:pipdeny, r=nikomatsakis

Make `private_in_public` compatibility lint deny-by-default

In accordance with the [plan](https://internals.rust-lang.org/t/fcp-for-various-future-compatibility-warnings/3590/5?u=petrochenkov).

r? @nikomatsakis

7 years agoAuto merge of #35453 - jseyfried:hygienize_metavariables, r=nrc
bors [Sun, 14 Aug 2016 06:37:11 +0000 (23:37 -0700)]
Auto merge of #35453 - jseyfried:hygienize_metavariables, r=nrc

macros: Make metavariables hygienic

This PR makes metavariables hygienic. For example, consider:
```rust
macro_rules! foo {
    ($x:tt) => { // Suppose that this token tree argument is always a metavariable.
        macro_rules! bar { ($x:expr, $y:expr) => { ($x, $y) } }
    }
}

fn main() {
    foo!($z); // This currently compiles.
    foo!($y); // This is an error today but compiles after this PR.
}
```
Today, the `macro_rules! bar { ... }` definition is only valid when the metavariable passed to `foo` is not `$y` (since it unhygienically conflicts with the `$y` in the definition of `bar`) or `$x` (c.f. #35450).

After this PR, the definition of `bar` is always valid (and `bar!(a, b)` always expands to `(a, b)` as expected).

This can break code that was allowed in #34925 (landed two weeks ago). For example,
```rust
macro_rules! outer {
    ($t:tt) => {
        macro_rules! inner { ($i:item) => { $t } }
    }
}

outer!($i); // This `$i` should not interact with the `$i` in the definition of `inner!`.
inner!(fn main() {}); // After this PR, this is an error ("unknown macro variable `i`").
```

Due to the severe limitations on nested `macro_rules!` before #34925, this is not a breaking change for stable/beta.

Fixes #35450.

r? @nrc

7 years agoAuto merge of #35414 - jupp0r:feature/test-threads-flag, r=alexcrichton
bors [Sat, 13 Aug 2016 16:52:49 +0000 (09:52 -0700)]
Auto merge of #35414 - jupp0r:feature/test-threads-flag, r=alexcrichton

Add --test-threads option to test binaries

This change allows parallelism of test runs to be specified by a
command line flag names --test-threads in addition to the existing
environment variable RUST_TEST_THREADS. Fixes #25636.

7 years agoAuto merge of #35348 - scottcarr:discriminant2, r=nikomatsakis
bors [Sat, 13 Aug 2016 08:20:46 +0000 (01:20 -0700)]
Auto merge of #35348 - scottcarr:discriminant2, r=nikomatsakis

[MIR] Add explicit SetDiscriminant StatementKind for deaggregating enums

cc #35186

To deaggregate enums, we need to be able to explicitly set the discriminant.  This PR implements a new StatementKind that does that.

I think some of the places that have `panics!` now could maybe do something smarter.

7 years agoAuto merge of #35138 - petrochenkov:clarify, r=eddyb
bors [Sat, 13 Aug 2016 02:38:46 +0000 (19:38 -0700)]
Auto merge of #35138 - petrochenkov:clarify, r=eddyb

Implement RFC 1506 "Clarify the relationships between various kinds of structs and variants"

cc https://github.com/rust-lang/rust/issues/35626

7 years agoParse numeric fields in struct expressions and patterns
Vadim Petrochenkov [Fri, 29 Jul 2016 20:47:55 +0000 (23:47 +0300)]
Parse numeric fields in struct expressions and patterns

7 years agoRemove restrictions from tuple structs/variants
Vadim Petrochenkov [Fri, 29 Jul 2016 20:47:55 +0000 (23:47 +0300)]
Remove restrictions from tuple structs/variants

Hard errors are turned into feature gates

7 years agoMake the translation item collector handle *uses* of 'const' items instead of declara...
Michael Woerister [Fri, 22 Jul 2016 16:14:26 +0000 (12:14 -0400)]
Make the translation item collector handle *uses* of 'const' items instead of declarations.

7 years agoAuto merge of #35431 - GuillaumeGomez:err_codes, r=jonathandturner
bors [Fri, 12 Aug 2016 15:58:55 +0000 (08:58 -0700)]
Auto merge of #35431 - GuillaumeGomez:err_codes, r=jonathandturner

Err codes

r? @jonathandturner

7 years agoCorrect span for pub_restricted field
Seo Sanghyeon [Mon, 8 Aug 2016 12:35:15 +0000 (21:35 +0900)]
Correct span for pub_restricted field

7 years agoAuto merge of #35091 - eddyb:impl-trait, r=nikomatsakis
bors [Fri, 12 Aug 2016 08:26:12 +0000 (01:26 -0700)]
Auto merge of #35091 - eddyb:impl-trait, r=nikomatsakis

Implement `impl Trait` in return type position by anonymization.

This is the first step towards implementing `impl Trait` (cc #34511).
`impl Trait` types are only allowed in function and inherent method return types, and capture all named lifetime and type parameters, being invariant over them.
No lifetimes that are not explicitly named lifetime parameters are allowed to escape from the function body.
The exposed traits are only those listed explicitly, i.e. `Foo` and `Clone` in `impl Foo + Clone`, with the exception of "auto traits" (like `Send` or `Sync`) which "leak" the actual contents.

The implementation strategy is anonymization, i.e.:
```rust
fn foo<T>(xs: Vec<T>) -> impl Iterator<Item=impl FnOnce() -> T> {
    xs.into_iter().map(|x| || x)
}

// is represented as:
type A</*invariant over*/ T> where A<T>: Iterator<Item=B<T>>;
type B</*invariant over*/ T> where B<T>: FnOnce() -> T;
fn foo<T>(xs: Vec<T>) -> A<T> {
    xs.into_iter().map(|x| || x): $0 where $0: Iterator<Item=$1>, $1: FnOnce() -> T
}
```
`$0` and `$1` are resolved (to `iter::Map<vec::Iter<T>, closure>` and the closure, respectively) and assigned to `A` and `B`, after checking the body of `foo`. `A` and `B` are *never* resolved for user-facing type equality (typeck), but always for the low-level representation and specialization (trans).

The "auto traits" exception is implemented by collecting bounds like `impl Trait: Send` that have failed for the obscure `impl Trait` type (i.e. `A` or `B` above), pretending they succeeded within the function and trying them again after type-checking the whole crate, by replacing `impl Trait` with the real type.

While passing around values which have explicit lifetime parameters (of the function with `-> impl Trait`) in their type *should* work, regionck appears to assign inference variables in *way* too many cases, and never properly resolving them to either explicit lifetime parameters, or `'static`.
We might not be able to handle lifetime parameters in `impl Trait` without changes to lifetime inference, but type parameters can have arbitrary lifetimes in them from the caller, so most type-generic usecases (or not generic at all) should not run into this problem.

cc @rust-lang/lang

7 years agoFix fallout in tests.
Jeffrey Seyfried [Fri, 12 Aug 2016 06:26:06 +0000 (06:26 +0000)]
Fix fallout in tests.

7 years agoAuto merge of #34811 - DanielJCampbell:Expander, r=jseyfried
bors [Fri, 12 Aug 2016 05:10:16 +0000 (22:10 -0700)]
Auto merge of #34811 - DanielJCampbell:Expander, r=jseyfried

Extended expand.rs to support alternate expansion behaviours (eg. stepwise expansion)

r? nrc

7 years agotest: add more extensive tests for impl Trait.
Eduard Burtescu [Wed, 10 Aug 2016 21:04:43 +0000 (00:04 +0300)]
test: add more extensive tests for impl Trait.

7 years agotypeck: leak auto trait obligations through impl Trait.
Eduard Burtescu [Thu, 28 Jul 2016 15:27:11 +0000 (18:27 +0300)]
typeck: leak auto trait obligations through impl Trait.

7 years agotypeck: record `impl Trait` concrete resolutions.
Eduard Burtescu [Sat, 6 Aug 2016 00:12:20 +0000 (03:12 +0300)]
typeck: record `impl Trait` concrete resolutions.

7 years agotypeck: disallow `impl Trait` outside of return types of functions and impl methods.
Eduard Burtescu [Sat, 6 Aug 2016 00:11:17 +0000 (03:11 +0300)]
typeck: disallow `impl Trait` outside of return types of functions and impl methods.

7 years agorustc: add TyAnon (impl Trait) to the typesystem.
Eduard Burtescu [Fri, 22 Jul 2016 15:56:22 +0000 (18:56 +0300)]
rustc: add TyAnon (impl Trait) to the typesystem.

7 years agosyntax: add anonymized type syntax, i.e. impl TraitA+TraitB.
Eduard Burtescu [Mon, 1 Aug 2016 01:25:32 +0000 (04:25 +0300)]
syntax: add anonymized type syntax, i.e. impl TraitA+TraitB.

7 years agorustc: don't reveal specializable polymorphic projections.
Eduard Burtescu [Fri, 1 Jul 2016 16:32:53 +0000 (19:32 +0300)]
rustc: don't reveal specializable polymorphic projections.

7 years agorustc: always normalize projections in ty::layout regardless where they appear.
Eduard Burtescu [Fri, 1 Jul 2016 15:36:54 +0000 (18:36 +0300)]
rustc: always normalize projections in ty::layout regardless where they appear.

7 years agorustc: rename ProjectionMode and its variant to be more memorable.
Eduard Burtescu [Thu, 30 Jun 2016 18:22:47 +0000 (21:22 +0300)]
rustc: rename ProjectionMode and its variant to be more memorable.

7 years agoFix typo
Patrick McCann [Thu, 11 Aug 2016 23:04:11 +0000 (19:04 -0400)]
Fix typo

Didn't see this one at first.

7 years agoIntroduce `as_mut_slice` method on `std::vec::IntoIter` struct.
Corey Farwell [Sun, 7 Aug 2016 14:08:40 +0000 (10:08 -0400)]
Introduce `as_mut_slice` method on `std::vec::IntoIter` struct.

7 years agoIntroduce `as_slice` method on `std::vec::IntoIter` struct.
Corey Farwell [Sun, 7 Aug 2016 04:30:17 +0000 (00:30 -0400)]
Introduce `as_slice` method on `std::vec::IntoIter` struct.

Similar to the `as_slice` method on `core::slice::Iter` struct.

7 years agoAdd test for #28514
Vadim Petrochenkov [Thu, 14 Jul 2016 19:54:36 +0000 (22:54 +0300)]
Add test for #28514

Fixes #28514

7 years agoMake `private_in_public` compatibility lint deny-by-default
Vadim Petrochenkov [Fri, 10 Jun 2016 20:30:05 +0000 (23:30 +0300)]
Make `private_in_public` compatibility lint deny-by-default

7 years agoAuto merge of #35592 - jonathandturner:rollup, r=jonathandturner
bors [Thu, 11 Aug 2016 20:14:28 +0000 (13:14 -0700)]
Auto merge of #35592 - jonathandturner:rollup, r=jonathandturner

Rollup of 23 pull requests

- Successful merges: #35279, #35331, #35358, #35375, #35445, #35448, #35482, #35486, #35505, #35528, #35530, #35532, #35536, #35537, #35541, #35552, #35554, #35555, #35557, #35562, #35565, #35569, #35576
- Failed merges: #35395, #35415, #35563

7 years agoFix tidy tests
crypto-universe [Thu, 11 Aug 2016 19:08:36 +0000 (21:08 +0200)]
Fix tidy tests

7 years agoadd SetDiscriminant StatementKind to enable deaggregation of enums
Scott A Carr [Thu, 4 Aug 2016 23:14:33 +0000 (16:14 -0700)]
add SetDiscriminant StatementKind to enable deaggregation of enums

7 years agodoc: a value of type `&str` is called a "string slice"
Tshepang Lekhonkhobe [Thu, 11 Aug 2016 18:41:04 +0000 (20:41 +0200)]
doc: a value of type `&str` is called a "string slice"

7 years agostd: Optimize panic::catch_unwind slightly
Alex Crichton [Sat, 9 Jul 2016 02:45:37 +0000 (19:45 -0700)]
std: Optimize panic::catch_unwind slightly

The previous implementation of this function was overly conservative with
liberal usage of `Option` and `.unwrap()` which in theory never triggers. This
commit essentially removes the `Option`s in favor of unsafe implementations,
improving the code generation of the fast path for LLVM to see through what's
happening more clearly.

cc #34727

7 years agoAdd label to E0254
crypto-universe [Wed, 10 Aug 2016 23:52:44 +0000 (01:52 +0200)]
Add label to E0254

This issue #35513 is a part of #35233.
r? @jonathandturner

7 years agoFix tidy warning
Jonathan Turner [Thu, 11 Aug 2016 17:17:12 +0000 (10:17 -0700)]
Fix tidy warning

7 years agoAuto merge of #34193 - petrochenkov:privalias, r=nikomatsakis
bors [Thu, 11 Aug 2016 17:09:10 +0000 (10:09 -0700)]
Auto merge of #34193 - petrochenkov:privalias, r=nikomatsakis

privacy: Substitute type aliases in private-in-public checker

Closes https://github.com/rust-lang/rust/issues/30503
Closes https://github.com/rust-lang/rust/issues/34293

Everyone in the issue discussion seemed to be in favor, @huonw also spoke about this [here](https://www.reddit.com/r/rust/comments/3xldr9/surfaces_and_signatures_component_privacy_versus/cy615wq), but the issue haven't got any movement.
I think it's reasonable to do this before turning `private_in_public` warnings into errors.

r? @nikomatsakis

7 years agoAllow compiling against a custom LLVM 3.9 installation
Jake Goulding [Thu, 11 Aug 2016 16:55:53 +0000 (12:55 -0400)]
Allow compiling against a custom LLVM 3.9 installation

7 years agofix match
Jorge Aparicio [Thu, 11 Aug 2016 16:22:39 +0000 (11:22 -0500)]
fix match

7 years agoRollup merge of #35576 - circuitfox:E0072-update-error-format, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:02 +0000 (06:34 -0700)]
Rollup merge of #35576 - circuitfox:E0072-update-error-format, r=jonathandturner

E0072 update error format

Part of  #35233

Fixes #35506

r? @jonathandturner

The bonus for this issue currently seems to be impossible to do reliably, as the compiler seems to lack span information for item names alone, like `Foo` in `struct Foo { ... }`. It would be possible to hack something together by computing span offsets, but that seems like a solution that would be begging for trouble.

A proper solution to this would, of course, be to add span information to the right place (seems to be `rustc::hir::Item::name` but I may be wrong).

7 years agoRollup merge of #35569 - pietroalbini:fix-typo, r=steveklabnik
Jonathan Turner [Thu, 11 Aug 2016 13:34:02 +0000 (06:34 -0700)]
Rollup merge of #35569 - pietroalbini:fix-typo, r=steveklabnik

Fix docs typo in std::os::unix::net::SocketAddr::is_unnamed

7 years agoRollup merge of #35565 - wdv4758h:E0133, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:01 +0000 (06:34 -0700)]
Rollup merge of #35565 - wdv4758h:E0133, r=jonathandturner

Update E0133 to new format

Part of #35233
Fix #35509
r? @jonathandturner

7 years agoRollup merge of #35562 - birkenfeld:as-mut-doc, r=steveklabnik
Jonathan Turner [Thu, 11 Aug 2016 13:34:01 +0000 (06:34 -0700)]
Rollup merge of #35562 - birkenfeld:as-mut-doc, r=steveklabnik

Remove redundant `&mut ref mut` in doc for Result::as_mut()

While a good example of how `&mut ref mut` is a no-op, I don't think we should show that here :)
See https://users.rust-lang.org/t/mnemonic-for-reading-qualifiers/6853

r? @steveklabnik

7 years agoRollup merge of #35557 - Limeth:master, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:01 +0000 (06:34 -0700)]
Rollup merge of #35557 - Limeth:master, r=jonathandturner

E0263 updated to new format.

Fixes #35518. Part of #35233.
r? @jonathandturner

7 years agoRollup merge of #35555 - circuitfox:E0128-update-error-format, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:00 +0000 (06:34 -0700)]
Rollup merge of #35555 - circuitfox:E0128-update-error-format, r=jonathandturner

E0128 update error format

Fixes #35508

Part of #35233

r? @jonathandturner

7 years agoRollup merge of #35554 - murarth:insert-str-issue, r=apasel422
Jonathan Turner [Thu, 11 Aug 2016 13:34:00 +0000 (06:34 -0700)]
Rollup merge of #35554 - murarth:insert-str-issue, r=apasel422

Add tracking issue for `String::insert_str`

7 years agoRollup merge of #35552 - theypsilon:master, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:00 +0000 (06:34 -0700)]
Rollup merge of #35552 - theypsilon:master, r=jonathandturner

Update error message E0384 to new format

Part of #35233
Fixes #35184

r? @jonathandturner

7 years agoRollup merge of #35541 - hank-der-hafenarbeiter:E0045, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:00 +0000 (06:34 -0700)]
Rollup merge of #35541 - hank-der-hafenarbeiter:E0045, r=jonathandturner

Updated E0045 to new error format (no bonus)

Part of #35501
r? @jonathandturner

7 years agoRollup merge of #35537 - munyari:e0038, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:34:00 +0000 (06:34 -0700)]
Rollup merge of #35537 - munyari:e0038, r=jonathandturner

Update E0038 to the new error format

Part of #35233

Addresses #35500
"r? @jonathandturner

This doesn't compile yet, and I need help. In my naive solution, adding the span label makes our error message a mutable `errors::DiagnosticBuilder` pointer.

```bash
python src/bootstrap/bootstrap.py --step check-cfail E0038 --stage 1
```

```
Building stage0 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
Building stage0 test artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
Building stage0 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
   Compiling rustc v0.0.0 (file:///home/nash/code/rust/src/librustc)
src/librustc/traits/error_reporting.rs:735:9: 735:12 error: mismatched types [E0308]
src/librustc/traits/error_reporting.rs:735         err
                                                   ^~~
src/librustc/traits/error_reporting.rs:735:9: 735:12 help: run `rustc --explain E0308` to see a detailed explanation
src/librustc/traits/error_reporting.rs:735:9: 735:12 note: expected type `core::option::Option<errors::DiagnosticBuilder<'tcx>>`
src/librustc/traits/error_reporting.rs:735:9: 735:12 note:    found type `core::option::Option<&mut errors::DiagnosticBuilder<'_>>`
error: aborting due to previous error
error: Could not compile `rustc`.

To learn more, run the command again with --verbose.

command did not execute successfully: "/home/nash/code/rust/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "-j" "4" "--target" "x86_64-unknown-linux-gnu" "--release" "--features" " jemalloc" "--manifest-path" "/home/nash/code/rust/src/rustc/Cargo.toml"
expected success, got: exit code: 101
```

7 years agoRollup merge of #35536 - hank-der-hafenarbeiter:E0433, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:59 +0000 (06:33 -0700)]
Rollup merge of #35536 - hank-der-hafenarbeiter:E0433, r=jonathandturner

Updated E0433 to new error message. (no bonus)

Part of #35345
r? @jonathandturner

7 years agoRollup merge of #35532 - KiChjang:e0004-follow-up, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:59 +0000 (06:33 -0700)]
Rollup merge of #35532 - KiChjang:e0004-follow-up, r=jonathandturner

Do not span across nodes for E0004

Part of #35233.
Fixes #35529.

r? @arielb1

7 years agoRollup merge of #35530 - srdja:master, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:59 +0000 (06:33 -0700)]
Rollup merge of #35530 - srdja:master, r=jonathandturner

Update E0008 and E0007 to new format

Part of #35233
A fix for #35496

r? @jonathandturner

7 years agoRollup merge of #35528 - Vassah:master, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:59 +0000 (06:33 -0700)]
Rollup merge of #35528 - Vassah:master, r=jonathandturner

Update Error Format for E0091 and E0092

Addresses [#35228](https://github.com/rust-lang/rust/issues/35228) and [#35229](https://github.com/rust-lang/rust/issues/35229) as part of [#35233](https://github.com/rust-lang/rust/issues/35233).

Please let me know if there are any issues; first time contributor.

r? @jonathandturner

7 years agoRollup merge of #35505 - futile:test_29053, r=nikomatsakis
Jonathan Turner [Thu, 11 Aug 2016 13:33:59 +0000 (06:33 -0700)]
Rollup merge of #35505 - futile:test_29053, r=nikomatsakis

Add test for issue #29053

This PR adds a test for #29053 (currently fails on stage 0, but works with stage 1, as it should).

Fixes #29053

7 years agoRollup merge of #35486 - KiChjang:e0081-bonus, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:58 +0000 (06:33 -0700)]
Rollup merge of #35486 - KiChjang:e0081-bonus, r=jonathandturner

Shrink span to variant discriminant expression for E0081

Part of #35233.
Extension of #35353.
Fixes #35224.

r? @jonathandturner

7 years agoRollup merge of #35482 - frewsxcv:patch-31, r=GuillaumeGomez
Jonathan Turner [Thu, 11 Aug 2016 13:33:58 +0000 (06:33 -0700)]
Rollup merge of #35482 - frewsxcv:patch-31, r=GuillaumeGomez

Remove unnecessary `main` functions in doc examples.

7 years agoRollup merge of #35448 - srinivasreddy:rf_compiletest, r=nikomatsakis
Jonathan Turner [Thu, 11 Aug 2016 13:33:58 +0000 (06:33 -0700)]
Rollup merge of #35448 - srinivasreddy:rf_compiletest, r=nikomatsakis

run rustfmt on compiletest folder in src/tools/ folder

7 years agoRollup merge of #35445 - pcn:update-E0017-to-new-format, r=arielb1
Jonathan Turner [Thu, 11 Aug 2016 13:33:58 +0000 (06:33 -0700)]
Rollup merge of #35445 - pcn:update-E0017-to-new-format, r=arielb1

Update e0017 to new format

Updated `span_err!` to use `struct_span_err!` and provide a `span_label` that describes the error in context.

Updated the test to look for the `span_label`s that are provided now.

7 years agoRollup merge of #35375 - trixnz:update-error-326, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:57 +0000 (06:33 -0700)]
Rollup merge of #35375 - trixnz:update-error-326, r=jonathandturner

Update error format for E0326

Fixes #35335 as part of #35233

r? @jonathandturner

7 years agoRollup merge of #35358 - vadimcn:vscode, r=steveklabnik
Jonathan Turner [Thu, 11 Aug 2016 13:33:57 +0000 (06:33 -0700)]
Rollup merge of #35358 - vadimcn:vscode, r=steveklabnik

Ignore VS Code settings directory

r? @steveklabnik

7 years agoRollup merge of #35331 - trixnz:update-error-130, r=jonathandturner
Jonathan Turner [Thu, 11 Aug 2016 13:33:57 +0000 (06:33 -0700)]
Rollup merge of #35331 - trixnz:update-error-130, r=jonathandturner

Update error format for E0130

Fixes #35256 as part of #35233

r? @jonathandturner

7 years agoRollup merge of #35279 - cengizIO:master, r=brson
Jonathan Turner [Thu, 11 Aug 2016 13:33:57 +0000 (06:33 -0700)]
Rollup merge of #35279 - cengizIO:master, r=brson

Provide a cleaner documentation for 'write!'

Hello!

This is my attempt to fix #35110

Any feedback is more than welcome!

Cheers!

7 years agoAuto merge of #35403 - scottcarr:lvalue_refactor, r=nikomatsakis
bors [Thu, 11 Aug 2016 12:04:41 +0000 (05:04 -0700)]
Auto merge of #35403 - scottcarr:lvalue_refactor, r=nikomatsakis

refactor lvalue_ty to be method of lvalue

Currently `Mir` (and `MirContext`) implement a method `lvalue_ty` (and actually many more `foo_ty`).  But this should be a method of `Lvalue`.

If you have an `lvalue` and you want to get its type, the natural thing to write is:

```
lvalue.ty()
```

Of course it needs context, but still:

```
lvalue.ty(mir, tcx)
```

Makes more sense than

```
mir.lvalue_ty(lvalue, tcx)
```

I actually think we should go a step farther and have traits so we could get the type of some value generically, but that's up for debate.  The thing I'm running into a lot in the compiler is I have a value of type `Foo` and I know that there is some related type `Bar` which I can get through some combination of method calls, but it's often not as direct as I would imagine.  Unless you already know the code, its not clear why you would look in `Mir` for a method to get the type of an `Lvalue`.

7 years agoUse an existing constant name as an example.
Andrii Dmytrenko [Thu, 11 Aug 2016 10:29:16 +0000 (11:29 +0100)]
Use an existing constant name as an example.

7 years agoAuto merge of #34866 - cynicaldevil:panic-counter, r=alexcrichton
bors [Thu, 11 Aug 2016 08:58:48 +0000 (01:58 -0700)]
Auto merge of #34866 - cynicaldevil:panic-counter, r=alexcrichton

Refactored code to access TLS only in case of panic (II)

Fixes #34787
r? @alexcrichton
Do it **very** carefully this time!

7 years agoAuto merge of #34845 - bitshifter:issue-30961, r=alexcrichton
bors [Thu, 11 Aug 2016 04:42:48 +0000 (21:42 -0700)]
Auto merge of #34845 - bitshifter:issue-30961, r=alexcrichton

Add help for target CPUs, features, relocation and code models.

Fix for https://github.com/rust-lang/rust/issues/30961. Requires PR https://github.com/rust-lang/llvm/pull/45 to be accepted first, and the .gitmodules for llvm to be updated before this can be merged.

7 years agoUpdate E0138 to new format
Chiu-Hsiang Hsu [Wed, 10 Aug 2016 16:38:12 +0000 (00:38 +0800)]
Update E0138 to new format

7 years agoImplemented a smarter concatenation system that will hopefully produce more efficient...
cgswords [Tue, 2 Aug 2016 16:41:21 +0000 (09:41 -0700)]
Implemented a smarter concatenation system that will hopefully produce more efficient tokenstream usages.

7 years agoAdd test for recursive private alias substitution in rustdoc
Vadim Petrochenkov [Wed, 10 Aug 2016 18:00:17 +0000 (21:00 +0300)]
Add test for recursive private alias substitution in rustdoc

7 years agoprivacy: Move private-in-public diagnostics for type aliases to the public interface...
petrochenkov [Fri, 8 Jul 2016 08:44:43 +0000 (11:44 +0300)]
privacy: Move private-in-public diagnostics for type aliases to the public interface location

7 years agoSubstitute private type aliases in rustdoc
petrochenkov [Thu, 7 Jul 2016 15:20:26 +0000 (18:20 +0300)]
Substitute private type aliases in rustdoc

7 years agoprivacy: Substitute type aliases in private-in-public checker
Vadim Petrochenkov [Thu, 9 Jun 2016 23:09:43 +0000 (02:09 +0300)]
privacy: Substitute type aliases in private-in-public checker

7 years agoAuto merge of #35489 - sanxiyn:target-list, r=alexcrichton
bors [Wed, 10 Aug 2016 20:13:50 +0000 (13:13 -0700)]
Auto merge of #35489 - sanxiyn:target-list, r=alexcrichton

Print Rust target name, not LLVM target name, for `--print target-list`

Rust target name and LLVM target name are usually the same, but not always. For example, `arm-unknown-linux-musleabi` Rust target uses `arm-unknown-linux-gnueabi` LLVM target.

Fix #35481.

7 years agoadd -mrelax-relocations=no to i686-musl and i586-gnu
Jorge Aparicio [Wed, 10 Aug 2016 19:35:09 +0000 (14:35 -0500)]
add -mrelax-relocations=no to i686-musl and i586-gnu

I've been experiencing #34978 with these two targets. This applies the
hack in #35178 to these targets as well.

7 years agoE0072 update error format
Chris Stankus [Wed, 10 Aug 2016 18:36:36 +0000 (13:36 -0500)]
E0072 update error format

7 years agoUpdate E0253.rs
Luke Hinds [Wed, 10 Aug 2016 18:15:39 +0000 (19:15 +0100)]
Update E0253.rs

changed error text

7 years agoFixed no-pattern-in-args test for new E0130 format
trixnz [Fri, 5 Aug 2016 10:58:43 +0000 (12:58 +0200)]
Fixed no-pattern-in-args test for new E0130 format

7 years agoUpdate error format for E0130
trixnz [Thu, 4 Aug 2016 21:15:58 +0000 (23:15 +0200)]
Update error format for E0130

7 years agoUpdate error format for E0326
trixnz [Fri, 5 Aug 2016 18:05:57 +0000 (20:05 +0200)]
Update error format for E0326

7 years agoAuto merge of #35525 - jonathandturner:rollup, r=jonathandturner
bors [Wed, 10 Aug 2016 17:03:08 +0000 (10:03 -0700)]
Auto merge of #35525 - jonathandturner:rollup, r=jonathandturner

Rollup of 15 pull requests

- Successful merges: #35371, #35396, #35446, #35449, #35452, #35458, #35465, #35466, #35470, #35475, #35477, #35484, #35504, #35507, #35524
- Failed merges: #35395, #35415

7 years agono op commit for travis
Scott A Carr [Wed, 10 Aug 2016 16:42:33 +0000 (09:42 -0700)]
no op commit for travis

7 years agoAdded an update_panic_count function to handle access to PANIC_COUNT
Nikhil Shagrithaya [Wed, 10 Aug 2016 16:32:35 +0000 (22:02 +0530)]
Added an update_panic_count function to handle access to PANIC_COUNT

7 years agoAdded a shim around rust_panic to update panic counter
Nikhil Shagrithaya [Wed, 20 Jul 2016 13:05:25 +0000 (18:35 +0530)]
Added a shim around rust_panic to update panic counter

7 years agoRefactored code to access TLS only in case of panic
Nikhil Shagrithaya [Fri, 15 Jul 2016 15:17:45 +0000 (20:47 +0530)]
Refactored code to access TLS only in case of panic

7 years agoClarify std::os::unix::net::SocketAddr::is_unnamed's docstring
Pietro Albini [Wed, 10 Aug 2016 15:53:25 +0000 (17:53 +0200)]
Clarify std::os::unix::net::SocketAddr::is_unnamed's docstring