]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoPut some thought and documentation effort into process::ExitCode
Scott McMurray [Tue, 27 Feb 2018 18:31:17 +0000 (10:31 -0800)]
Put some thought and documentation effort into process::ExitCode

6 years agoRestrict the Termination impls to simplify stabilization
Scott McMurray [Sat, 24 Feb 2018 08:31:33 +0000 (00:31 -0800)]
Restrict the Termination impls to simplify stabilization

Make a minimal commitment for stabilization.  More impls are likely in future, but are not necessary at this time.

6 years agoAuto merge of #48520 - Manishearth:rollup, r=Manishearth
bors [Sun, 25 Feb 2018 02:07:14 +0000 (02:07 +0000)]
Auto merge of #48520 - Manishearth:rollup, r=Manishearth

Rollup of 15 pull requests

- Successful merges: #47689, #48110, #48197, #48296, #48386, #48392, #48404, #48415, #48441, #48448, #48452, #48481, #48490, #48499, #48503
- Failed merges:

6 years agoignore-pretty on dyn trait test
Manish Goregaokar [Sun, 25 Feb 2018 02:02:33 +0000 (18:02 -0800)]
ignore-pretty on dyn trait test

6 years agoRollup merge of #48503 - petrochenkov:nort, r=Mark-Simulacrum
Manish Goregaokar [Sat, 24 Feb 2018 23:52:20 +0000 (15:52 -0800)]
Rollup merge of #48503 - petrochenkov:nort, r=Mark-Simulacrum

Remove directory `src/rt`

6 years agoRollup merge of #48499 - dwijnand:patch-1, r=BurntSushi
Manish Goregaokar [Sat, 24 Feb 2018 23:52:19 +0000 (15:52 -0800)]
Rollup merge of #48499 - dwijnand:patch-1, r=BurntSushi

Fix capitalisation in Path#file_name's docs

6 years agoRollup merge of #48490 - petrochenkov:orpat, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 23:52:17 +0000 (15:52 -0800)]
Rollup merge of #48490 - petrochenkov:orpat, r=eddyb

Implement multiple patterns with `|` in `if let` and `while let` (RFC 2175)

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

6 years agoRollup merge of #48481 - Manishearth:dyn-paren, r=petrochenkov
Manish Goregaokar [Sat, 24 Feb 2018 23:52:16 +0000 (15:52 -0800)]
Rollup merge of #48481 - Manishearth:dyn-paren, r=petrochenkov

Allow parentheses in `dyn (Trait)`

r? @eddyb @nikomatsakis

6 years agoRollup merge of #48452 - varkor:unpacked-kind, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 23:52:15 +0000 (15:52 -0800)]
Rollup merge of #48452 - varkor:unpacked-kind, r=eddyb

Introduce UnpackedKind

This adds an `UnpackedKind` type as a typesafe counterpart to `Kind`. This should make future changes to kinds (such as const generics!) more resilient, as the type-checker will be able to catch more potential issues.

r? @eddyb
cc @yodaldevoid

6 years agoRollup merge of #48448 - nikomatsakis:default-binding-mode-issue-46688, r=cramertj
Manish Goregaokar [Sat, 24 Feb 2018 23:52:14 +0000 (15:52 -0800)]
Rollup merge of #48448 - nikomatsakis:default-binding-mode-issue-46688, r=cramertj

reset default binding mode when we pass through a `&` pattern

Fixes #46688.

r? @cramertj

6 years agoRollup merge of #48441 - petrochenkov:exty, r=estebank
Manish Goregaokar [Sat, 24 Feb 2018 23:52:13 +0000 (15:52 -0800)]
Rollup merge of #48441 - petrochenkov:exty, r=estebank

Fix parsing of extern paths in types and poly-traits

Fixes https://github.com/rust-lang/rust/issues/48262

6 years agoRollup merge of #48415 - QuietMisdreavus:traits-on-traits-on-traits, r=Manishearth
Manish Goregaokar [Sat, 24 Feb 2018 23:52:11 +0000 (15:52 -0800)]
Rollup merge of #48415 - QuietMisdreavus:traits-on-traits-on-traits, r=Manishearth

rustdoc: don't crash when an external trait's docs needs to import another trait

Fixes https://github.com/rust-lang/rust/issues/48414

When resolving intra-paths for an item, rustdoc needs to have information about their items on hand, for proper bookkeeping. When loading a path for an external item, it needs to load these items from their host crate, since their information isn't otherwise available. This includes resolving paths for those docs. which can cause this process to recurse. Rustdoc keeps a map of external traits in a `RefCell<HashMap<DefId, Trait>>`, and it keeps a borrow of this active when importing an external trait. In the linked crash, this led to a RefCell borrow error, panic, and ICE.

This PR manually releases the borrow while importing the trait, and also keeps a list of traits being imported at the given moment. The latter keeps rustdoc from infinitely recursing as it tries to import the same trait repeatedly.

6 years agoRollup merge of #48404 - steveklabnik:second-edition-is-the-best-edition, r=QuietMisd...
Manish Goregaokar [Sat, 24 Feb 2018 23:52:10 +0000 (15:52 -0800)]
Rollup merge of #48404 - steveklabnik:second-edition-is-the-best-edition, r=QuietMisdreavus

Update the book to promote second edition

This updates the book repository, but mostly to include
https://github.com/rust-lang/book/pull/1180

TL;DR: the second edition is close enough to done that we should
universally recommend it over the first edition.

6 years agoRollup merge of #48392 - estebank:string, r=petrochenkov
Manish Goregaokar [Sat, 24 Feb 2018 23:52:09 +0000 (15:52 -0800)]
Rollup merge of #48392 - estebank:string, r=petrochenkov

Handle custom diagnostic for `&str + String`

Now all of `&str + &str`, `&str + String` and `String + String` have relevant diagnostic output.

6 years agoRollup merge of #48386 - withoutboats:nonstandard-style, r=Manishearth
Manish Goregaokar [Sat, 24 Feb 2018 23:52:08 +0000 (15:52 -0800)]
Rollup merge of #48386 - withoutboats:nonstandard-style, r=Manishearth

Add nonstandard_style alias for bad_style.

6 years agoRollup merge of #48296 - ishitatsuyuki:exp-unblow, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 23:52:07 +0000 (15:52 -0800)]
Rollup merge of #48296 - ishitatsuyuki:exp-unblow, r=nikomatsakis

Fix exponential projection complexity on nested types

This implements solution 1 from https://github.com/rust-lang/rust/issues/38528#issuecomment-366263076.

The code quality is currently extremely poor, but we can improve them during review.

Blocking issues:

- we probably don't want a quadratic deduplication for obligations.
- is there an alternative to deduplication?

Based on #48315.

Needs changelog. Noticable improvement on compile time is expected.

Fix #38528
Close #39684
Close #43757

6 years agoRollup merge of #48197 - bobtwinkles:two_phase_borrow_on_ops, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 23:52:06 +0000 (15:52 -0800)]
Rollup merge of #48197 - bobtwinkles:two_phase_borrow_on_ops, r=nikomatsakis

Allow two-phase borrows of &mut self in ops

We need two-phase borrows of ops to be in the initial NLL release since without them lots of existing code will break. Fixes #48129.
CC @pnkfelix  and @nikomatsakis

r? @pnkfelix

6 years agoRollup merge of #48110 - Centril:stabilize/box_leak, r=alexcrichton
Manish Goregaokar [Sat, 24 Feb 2018 23:52:04 +0000 (15:52 -0800)]
Rollup merge of #48110 - Centril:stabilize/box_leak, r=alexcrichton

Stabilize Box::leak

Stabilizes the following:
+ `Box::leak` (`box_leak`, in nightly since 2017-11-23)

cc #46179

 r? @rust-lang/libs

6 years agoRollup merge of #47689 - davidtwco:issue-45157, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 23:52:03 +0000 (15:52 -0800)]
Rollup merge of #47689 - davidtwco:issue-45157, r=nikomatsakis

Fix borrow checker unsoundness with unions

Fixes #45157. After discussion with @nikomatsakis on Gitter, this PR only adds a test since the original issue was resolved elsewhere.

r? @nikomatsakis

6 years agoAuto merge of #48510 - Manishearth:rollup, r=Manishearth
bors [Sat, 24 Feb 2018 20:48:24 +0000 (20:48 +0000)]
Auto merge of #48510 - Manishearth:rollup, r=Manishearth

Rollup of 15 pull requests

- Successful merges: #47987, #48056, #48061, #48084, #48143, #48185, #48206, #48208, #48232, #48246, #48258, #48317, #48353, #48356, #48402
- Failed merges:

6 years agoRollup merge of #48061 - nikomatsakis:nll-do-not-run-mir-typeck-twice, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 18:43:29 +0000 (10:43 -0800)]
Rollup merge of #48061 - nikomatsakis:nll-do-not-run-mir-typeck-twice, r=eddyb

Fixes #47311.
r? @nrc

6 years agoRollup merge of #48402 - eddyb:y-u-no-inline, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 16:55:53 +0000 (08:55 -0800)]
Rollup merge of #48402 - eddyb:y-u-no-inline, r=nikomatsakis

rustc_data_structures: add missing #[inline].

r? @nikomatsakis

6 years agoRollup merge of #48356 - estebank:unsafe-without-braces, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 16:55:52 +0000 (08:55 -0800)]
Rollup merge of #48356 - estebank:unsafe-without-braces, r=nikomatsakis

When encountering invalid token after `unsafe`, mention `{`

Fix #37158.

6 years agoRollup merge of #48353 - michaelwoerister:monoitem-static-defid, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 16:55:51 +0000 (08:55 -0800)]
Rollup merge of #48353 - michaelwoerister:monoitem-static-defid, r=eddyb

Allow for instantiating statics from upstream crates

This PR makes the infrastructure around translating statics a bit more flexible so that it can also instantiate statics from upstream crates if the need arises. This is preparatory work for a MIR-only RLIBs prototype, where the instantiation of a `static` may be deferred until a leaf crate.

r? @eddyb (feel free to assign to someone else if you're busy)

6 years agoRollup merge of #48317 - ExpHP:unused-unsafe-is-no-fn, r=estebank
Manish Goregaokar [Sat, 24 Feb 2018 16:55:49 +0000 (08:55 -0800)]
Rollup merge of #48317 - ExpHP:unused-unsafe-is-no-fn, r=estebank

unused_unsafe: don't label irrelevant fns

Fixes #48131

Diagnostic bugfix to remove an errant note.  Stops the search for an enclosing unsafe scope at the first safe fn encountered.

```rust
pub unsafe fn outer() {
    fn inner() {
        unsafe { /* unnecessary */ }
    }

    inner()
}
```

**Before:**

```
warning: unnecessary `unsafe` block
 --> src/main.rs:3:9
  |
1 | pub unsafe fn outer() {
  | --------------------- because it's nested under this `unsafe` fn
2 |     fn inner() {
3 |         unsafe { /* unnecessary */ }
  |         ^^^^^^ unnecessary `unsafe` block
  |
  = note: #[warn(unused_unsafe)] on by default
```

**After:**

```
warning: unnecessary `unsafe` block
 --> src/main.rs:3:9
  |
3 |         unsafe { /* unnecessary */ }
  |         ^^^^^^ unnecessary `unsafe` block
  |
  = note: #[warn(unused_unsafe)] on by default
```

6 years agoRollup merge of #48258 - nrc:save-proc-nested, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 16:55:48 +0000 (08:55 -0800)]
Rollup merge of #48258 - nrc:save-proc-nested, r=eddyb

save-analysis: power through bracket mis-counts

Closes #47981

This is pretty unsatisfying since it is working around a span bug. However, I can't track down the span bug and it could be in the parser, proc macro expansion, the user macro, or Syn (or any other library that can manipulate spans). Given that user code can cause this error, I think we need to be more robust here.

r? @eddyb

6 years agoRollup merge of #48246 - estebank:ice, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 16:55:47 +0000 (08:55 -0800)]
Rollup merge of #48246 - estebank:ice, r=nikomatsakis

Avoid ICE in arg mistmatch error for tuple variants

Fix #47706.

6 years agoRollup merge of #48232 - fpoli:master, r=pnkfelix
Manish Goregaokar [Sat, 24 Feb 2018 16:55:46 +0000 (08:55 -0800)]
Rollup merge of #48232 - fpoli:master, r=pnkfelix

mir: Gather move at SwitchInt, Assert terminators

Previously, `_1` was not marked as "definitely uninitialized" after a `switchInt(move _1)` terminator.

I think the same goes for the `assert` terminator.

Related discussion: https://internals.rust-lang.org/t/why-is-2-definitely-initialized-after-switchint-move-2/6760

6 years agoRollup merge of #48206 - michaelwoerister:colors-array, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 16:55:43 +0000 (08:55 -0800)]
Rollup merge of #48206 - michaelwoerister:colors-array, r=nikomatsakis

incr.comp.: Store DepNode colors in a dense array instead of a hashmap.

Implements half of https://github.com/rust-lang/rust/issues/47293.

r? @nikomatsakis

6 years agoRollup merge of #48185 - michaelwoerister:recursive-cache-decoding, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 16:55:42 +0000 (08:55 -0800)]
Rollup merge of #48185 - michaelwoerister:recursive-cache-decoding, r=nikomatsakis

incr.comp.: Don't keep RefCells in on-disk-cache borrowed in order to allow for recursive invocations.

Fixes #47972.

r? @nikomatsakis

6 years agoRollup merge of #48143 - nikomatsakis:termination_trait_in_tests, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 16:55:41 +0000 (08:55 -0800)]
Rollup merge of #48143 - nikomatsakis:termination_trait_in_tests, r=eddyb

Termination trait in tests

Support the `Termination` trait in unit tests (cc https://github.com/rust-lang/rust/issues/43301)

Also, a drive-by fix for #47075.

This is joint work with @bkchr.

6 years agoRollup merge of #48084 - cramertj:impl-trait-errors, r=nikomatsakis
Manish Goregaokar [Sat, 24 Feb 2018 16:55:39 +0000 (08:55 -0800)]
Rollup merge of #48084 - cramertj:impl-trait-errors, r=nikomatsakis

Error on nested impl Trait and path projections from impl Trait

cc #34511

r? @nikomatsakis

6 years agoRollup merge of #47987 - Zoxc:rm-recursion-checking, r=eddyb
Manish Goregaokar [Sat, 24 Feb 2018 16:55:36 +0000 (08:55 -0800)]
Rollup merge of #47987 - Zoxc:rm-recursion-checking, r=eddyb

Remove "static item recursion checking" in favor of relying on cycle checks in the query engine

Tests are changed to use the cycle check error message instead. Some duplicate tests are removed.

r? @eddyb

6 years agoRemove directory `src/rt`
Vadim Petrochenkov [Sat, 24 Feb 2018 13:45:39 +0000 (16:45 +0300)]
Remove directory `src/rt`

6 years agoFix capitalisation in Path#file_name's docs
Dale Wijnand [Sat, 24 Feb 2018 12:31:03 +0000 (12:31 +0000)]
Fix capitalisation in Path#file_name's docs

6 years agoAuto merge of #48476 - Manishearth:rollup, r=Manishearth
bors [Sat, 24 Feb 2018 07:55:34 +0000 (07:55 +0000)]
Auto merge of #48476 - Manishearth:rollup, r=Manishearth

Rollup of 12 pull requests

- Successful merges: #47933, #48072, #48083, #48123, #48157, #48219, #48221, #48245, #48429, #48436, #48438, #48472
- Failed merges:

6 years agoAuto merge of #48487 - Mark-Simulacrum:appveyor-split, r=Mark-Simulacrum
bors [Sat, 24 Feb 2018 00:54:15 +0000 (00:54 +0000)]
Auto merge of #48487 - Mark-Simulacrum:appveyor-split, r=Mark-Simulacrum

Split MinGW tests into two builders on AppVeyor

Run-pass and compile-fail tests appear to take the most significant chunk of time, so split them into their own builder.

Should help with https://github.com/rust-lang/rust/issues/46903.

r? @kennytm
cc @alexcrichton

6 years agoImplement multiple patterns with `|` in `if let` and `while let`
Vadim Petrochenkov [Sat, 24 Feb 2018 00:12:35 +0000 (03:12 +0300)]
Implement multiple patterns with `|` in `if let` and `while let`

6 years agoSplit MinGW tests into two builders on AppVeyor
Mark Simulacrum [Fri, 23 Feb 2018 23:19:17 +0000 (16:19 -0700)]
Split MinGW tests into two builders on AppVeyor

Run-pass and compile-fail tests appear to take the most significant
chunk of time, so split them into their own builder.

6 years agoBad tags are unreachable
varkor [Fri, 23 Feb 2018 22:15:07 +0000 (22:15 +0000)]
Bad tags are unreachable

6 years agoAdd test
Manish Goregaokar [Fri, 23 Feb 2018 20:45:10 +0000 (12:45 -0800)]
Add test

6 years agoparse `dyn (Foo)` as a trait object
Manish Goregaokar [Fri, 23 Feb 2018 20:39:51 +0000 (12:39 -0800)]
parse `dyn (Foo)` as a trait object

6 years agoRollup merge of #48472 - Manishearth:clippyup, r=oli-obk
Manish Goregaokar [Fri, 23 Feb 2018 18:24:57 +0000 (10:24 -0800)]
Rollup merge of #48472 - Manishearth:clippyup, r=oli-obk

Update clippy

r? @oli-obk

6 years agoRollup merge of #48438 - mbrubeck:docs, r=TimNN
Manish Goregaokar [Fri, 23 Feb 2018 18:24:56 +0000 (10:24 -0800)]
Rollup merge of #48438 - mbrubeck:docs, r=TimNN

[docs] Minor wording changes to drain_filter docs

The docs currently say, "If the closure returns false, it will try again, and call the closure on the next element."  But this happens regardless of whether the closure returns true or false.

6 years agoRollup merge of #48436 - adeschamps:string-doc-fix, r=estebank
Manish Goregaokar [Fri, 23 Feb 2018 18:24:55 +0000 (10:24 -0800)]
Rollup merge of #48436 - adeschamps:string-doc-fix, r=estebank

Small grammar fix to docs for String::new()

6 years agoRollup merge of #48429 - toidiu:patch-1, r=nikomatsakis
Manish Goregaokar [Fri, 23 Feb 2018 18:24:54 +0000 (10:24 -0800)]
Rollup merge of #48429 - toidiu:patch-1, r=nikomatsakis

update tracking issue for nll

Point to the new tracing issue for nll

For reference https://github.com/rust-lang/rust/issues/44928

6 years agoRollup merge of #48245 - spastorino:sparse_bitsets, r=nikomatsakis
Manish Goregaokar [Fri, 23 Feb 2018 18:24:53 +0000 (10:24 -0800)]
Rollup merge of #48245 - spastorino:sparse_bitsets, r=nikomatsakis

Use sparse bitsets instead of dense ones for NLL results

This is for https://github.com/rust-lang/rust/issues/48170.

r? @nikomatsakis

6 years agoRollup merge of #48221 - rkruppe:improve-ctypes-lint, r=estebank
Manish Goregaokar [Fri, 23 Feb 2018 18:24:52 +0000 (10:24 -0800)]
Rollup merge of #48221 - rkruppe:improve-ctypes-lint, r=estebank

Overhaul improper_ctypes output

This snowballed into a rather big set of improvements to the diagnostics of the improper_ctypes lint. See commits for details, including effects of each change on the `compile-fail/improper-ctypes.rs` test (now a UI test), which is pretty gnarly and hopefully not representative of real code, but covers a lot of different error cases.

Fixes #42050

6 years agoRollup merge of #48219 - andjo403:export_symbol, r=michaelwoerister
Manish Goregaokar [Fri, 23 Feb 2018 18:24:51 +0000 (10:24 -0800)]
Rollup merge of #48219 - andjo403:export_symbol, r=michaelwoerister

lookup exported symbols only when needed.

reduces the time to compile small file with no optimization by half.

6 years agoRollup merge of #48157 - scottmcm:try-for-each, r=dtolnay
Manish Goregaokar [Fri, 23 Feb 2018 18:24:49 +0000 (10:24 -0800)]
Rollup merge of #48157 - scottmcm:try-for-each, r=dtolnay

Add Iterator::try_for_each

The fallible version of `for_each` aka the stateless version of `try_fold`.  Inspired by @cuviper's comment in https://github.com/rust-lang/rust/pull/45379#issuecomment-338370020 as a more direct and obvious solution than `.map(f).collect::<Result<(), _>>()`.

Like `for_each`, no need for an `r` version thanks to overrides in `Rev`.

`iterator_try_fold` tracking issue: https://github.com/rust-lang/rust/issues/45594

6 years agoRollup merge of #48123 - nikomatsakis:issue-47244-expected-num-args, r=estebank
Manish Goregaokar [Fri, 23 Feb 2018 18:24:48 +0000 (10:24 -0800)]
Rollup merge of #48123 - nikomatsakis:issue-47244-expected-num-args, r=estebank

detect wrong number of args when type-checking a closure

Instead of creating inference variables for those argument types, use
the trait error-reporting code to give a nicer error. This also
improves some other spans for existing tests.

Fixes #47244

r? @estebank

6 years agoRollup merge of #48083 - jseyfried:improve_tuple_struct_field_access_hygiene, r=petro...
Manish Goregaokar [Fri, 23 Feb 2018 18:24:47 +0000 (10:24 -0800)]
Rollup merge of #48083 - jseyfried:improve_tuple_struct_field_access_hygiene, r=petrochenkov

Improve tuple struct field access hygiene

Fixes #47312 by fixing a span bug.
r? @nrc

6 years agoRollup merge of #48072 - cramertj:impl-trait-lifetime-res, r=nikomatsakis
Manish Goregaokar [Fri, 23 Feb 2018 18:24:46 +0000 (10:24 -0800)]
Rollup merge of #48072 - cramertj:impl-trait-lifetime-res, r=nikomatsakis

Fix nested impl trait lifetimes

Fixes #46464
cc https://github.com/rust-lang/rust/issues/34511

r? @nikomatsakis

6 years agoRollup merge of #47933 - Zoxc:plugin-panics, r=nikomatsakis
Manish Goregaokar [Fri, 23 Feb 2018 18:24:45 +0000 (10:24 -0800)]
Rollup merge of #47933 - Zoxc:plugin-panics, r=nikomatsakis

Do not run the default panic hook inside procedural macros.

Fixes #47812

r? @nikomatsakis

6 years agoUpdate Clippy
Manish Goregaokar [Fri, 23 Feb 2018 16:59:52 +0000 (08:59 -0800)]
Update Clippy

6 years agoexplain why we don't need to run type-checker when NLL is enabled
Niko Matsakis [Fri, 23 Feb 2018 15:42:12 +0000 (10:42 -0500)]
explain why we don't need to run type-checker when NLL is enabled

6 years agoupdate tests and reference files
Niko Matsakis [Thu, 22 Feb 2018 23:46:02 +0000 (18:46 -0500)]
update tests and reference files

The type checker invokes the borrow checker for closures it finds, so
removing the NLL type checker affects ordering of errors somewhat.

6 years agodo not run MIR type checker twice
Niko Matsakis [Wed, 7 Feb 2018 22:26:40 +0000 (17:26 -0500)]
do not run MIR type checker twice

6 years agore-export `assert_test_result` for use when testing libtest itself
Niko Matsakis [Fri, 23 Feb 2018 15:11:06 +0000 (10:11 -0500)]
re-export `assert_test_result` for use when testing libtest itself

6 years agoupdate test -- we now give a slightly different error
Niko Matsakis [Fri, 23 Feb 2018 12:34:00 +0000 (07:34 -0500)]
update test -- we now give a slightly different error

6 years agoAuto merge of #47799 - topecongiro:fix-span-of-visibility, r=petrochenkov
bors [Fri, 23 Feb 2018 11:21:29 +0000 (11:21 +0000)]
Auto merge of #47799 - topecongiro:fix-span-of-visibility, r=petrochenkov

Fix span of visibility

This PR

1. adds a closing parenthesis to the span of `Visibility::Crate` (e.g. `pub(crate)`). The current span only covers `pub(crate`.
2. adds a `span` field to `Visibility::Restricted`. This span covers the entire visibility expression (e.g. `pub (in self)`). Currently all we can have is a span for `Path`.

This PR is motivated by the bug found in rustfmt (https://github.com/rust-lang-nursery/rustfmt/issues/2398).

The first change is a strict improvement IMHO. The second change may not be desirable, as it adds a field which is currently not used by the compiler.

6 years agoAuto merge of #48052 - eddyb:deggregate, r=nikomatsakis
bors [Fri, 23 Feb 2018 02:21:06 +0000 (02:21 +0000)]
Auto merge of #48052 - eddyb:deggregate, r=nikomatsakis

 rustc_mir: handle all aggregate kinds in, and always run, the deaggregator.

This helps with removing`Rvalue::Aggregate` from the MIR, and with enabling more optimizations.
r? @nikomatsakis

6 years agomove test to the proper directory and test #[bench]
Niko Matsakis [Fri, 23 Feb 2018 01:16:30 +0000 (20:16 -0500)]
move test to the proper directory and test #[bench]

6 years agodelete this test file: it also appears as
Niko Matsakis [Fri, 23 Feb 2018 01:16:06 +0000 (20:16 -0500)]
delete this test file: it also appears as

src/rfc-1937-termination-trait/termination-trait-for-result-box-error_ok.rs

6 years agoIntroduce UnpackedKind
varkor [Fri, 23 Feb 2018 01:13:54 +0000 (01:13 +0000)]
Introduce UnpackedKind

This adds an `UnpackedKind` type as a typesafe counterpart to `Kind`. This should make future changes to kinds (such as const generics!) more resilient, as the type-checker should catch more potential issues.

6 years agoadd test for `fn main() -> !`
Niko Matsakis [Fri, 23 Feb 2018 01:10:36 +0000 (20:10 -0500)]
add test for `fn main() -> !`

6 years agohandle `#[bench]` functions better
Niko Matsakis [Fri, 23 Feb 2018 01:09:10 +0000 (20:09 -0500)]
handle `#[bench]` functions better

6 years agoreset default binding mode when we pass through a `&` pattern
Niko Matsakis [Fri, 23 Feb 2018 00:47:03 +0000 (19:47 -0500)]
reset default binding mode when we pass through a `&` pattern

Fixes #46688.

6 years agoRun rustfmt over bitvec.rs and region_infer/values.rs
Santiago Pastorino [Thu, 22 Feb 2018 18:53:54 +0000 (15:53 -0300)]
Run rustfmt over bitvec.rs and region_infer/values.rs

6 years agoFix typo otherwies -> otherwise
Santiago Pastorino [Thu, 15 Feb 2018 22:35:11 +0000 (19:35 -0300)]
Fix typo otherwies -> otherwise

6 years agoUse Sparse bitsets instead of dense ones for NLL results
Santiago Pastorino [Thu, 15 Feb 2018 18:47:40 +0000 (15:47 -0300)]
Use Sparse bitsets instead of dense ones for NLL results

Fixes #48170

6 years agoremove tokenstream
Niko Matsakis [Thu, 22 Feb 2018 23:26:01 +0000 (18:26 -0500)]
remove tokenstream

6 years agoAuto merge of #48343 - Mark-Simulacrum:release-step, r=kennytm
bors [Thu, 22 Feb 2018 23:25:39 +0000 (23:25 +0000)]
Auto merge of #48343 - Mark-Simulacrum:release-step, r=kennytm

Update nightly to 1.26.0 and bootstrap from beta.

6 years agoMove word type and word size usage to constants & make it of 128 bits
Santiago Pastorino [Wed, 14 Feb 2018 23:30:49 +0000 (20:30 -0300)]
Move word type and word size usage to constants & make it of 128 bits

6 years agomove Termination trait to std::process
Niko Matsakis [Thu, 22 Feb 2018 22:36:55 +0000 (17:36 -0500)]
move Termination trait to std::process

6 years agoput the "unit test" logic into libtest
Niko Matsakis [Wed, 14 Feb 2018 15:06:12 +0000 (10:06 -0500)]
put the "unit test" logic into libtest

Also make `std::termination` module public and rename feature.

The lib feature needs a different name from the language feature.

6 years agobegin crate-relative paths with `crate`
Niko Matsakis [Sun, 11 Feb 2018 14:28:47 +0000 (09:28 -0500)]
begin crate-relative paths with `crate`

6 years agosupport unit tests with return values that implement `Terminaton`
Niko Matsakis [Thu, 8 Feb 2018 22:16:39 +0000 (17:16 -0500)]
support unit tests with return values that implement `Terminaton`

Extend `Termination` trait with a method to determine what happens
with a unit test.

This commit incorporates work by Bastian Köcher <git@kchr.de>.

6 years agoFix parsing of extern paths in types and poly-traits
Vadim Petrochenkov [Thu, 22 Feb 2018 21:54:30 +0000 (00:54 +0300)]
Fix parsing of extern paths in types and poly-traits

6 years ago[docs] Minor wording changes to drain_filter docs
Matt Brubeck [Thu, 22 Feb 2018 20:05:30 +0000 (12:05 -0800)]
[docs] Minor wording changes to drain_filter docs

The docs currently say, "If the closure returns false, it will try
again, and call the closure on the next element."  But this happens
regardless of whether the closure returns true or false.

6 years agoSmall grammar fix to docs for String::new().
Anthony Deschamps [Thu, 22 Feb 2018 19:21:54 +0000 (14:21 -0500)]
Small grammar fix to docs for String::new().

6 years agoupdate tracking issue for nll
toidiu [Thu, 22 Feb 2018 14:13:44 +0000 (09:13 -0500)]
update tracking issue for nll

Point to the new tracing issue for nll

6 years agoAuto merge of #48399 - GuillaumeGomez:rollup, r=GuillaumeGomez
bors [Thu, 22 Feb 2018 11:25:16 +0000 (11:25 +0000)]
Auto merge of #48399 - GuillaumeGomez:rollup, r=GuillaumeGomez

Rollup of 12 pull requests

- Successful merges: #47379, #47833, #48106, #48198, #48314, #48325, #48335, #48352, #48354, #48360, #48382, #48397
- Failed merges:

6 years agoimpl_or_trait_obligations: deduplicate obligations
Tatsuyuki Ishi [Sun, 18 Feb 2018 12:23:20 +0000 (21:23 +0900)]
impl_or_trait_obligations: deduplicate obligations

6 years agoFix exponential blowup on nested types
Tatsuyuki Ishi [Sun, 18 Feb 2018 03:32:23 +0000 (12:32 +0900)]
Fix exponential blowup on nested types

6 years agoRemove needless dedup from projection
Tatsuyuki Ishi [Sun, 18 Feb 2018 02:37:14 +0000 (11:37 +0900)]
Remove needless dedup from projection

6 years agoRevert "Implement Ord as necessary"
Tatsuyuki Ishi [Sun, 18 Feb 2018 02:36:41 +0000 (11:36 +0900)]
Revert "Implement Ord as necessary"

This reverts commit c6772b4dcb95137e88d5cd1814ce0051f74a3c29.

6 years agoadd test for issue 48414 ICE
QuietMisdreavus [Thu, 22 Feb 2018 01:58:20 +0000 (19:58 -0600)]
add test for issue 48414 ICE

6 years agoproper early-bail condition
QuietMisdreavus [Thu, 22 Feb 2018 01:57:48 +0000 (19:57 -0600)]
proper early-bail condition

6 years agotrack extern traits being inlined
QuietMisdreavus [Thu, 22 Feb 2018 00:33:42 +0000 (18:33 -0600)]
track extern traits being inlined

6 years agomanually release `cx.external_traits` while building the new trait
QuietMisdreavus [Wed, 21 Feb 2018 23:44:49 +0000 (17:44 -0600)]
manually release `cx.external_traits` while building the new trait

6 years agoUpdate the book to promote second edition
steveklabnik [Wed, 21 Feb 2018 18:32:24 +0000 (13:32 -0500)]
Update the book to promote second edition

This updates the book repository, but mostly to include
https://github.com/rust-lang/book/pull/1180

TL;DR: the second edition is close enough to done that we should
universally recommend it over the first edition.

6 years agorustc_data_structures: add missing #[inline].
Eduard-Mihai Burtescu [Wed, 21 Feb 2018 17:20:09 +0000 (19:20 +0200)]
rustc_data_structures: add missing #[inline].

6 years agoRollup merge of #48397 - ordovicia:pow_doc, r=GuillaumeGomez
Guillaume Gomez [Wed, 21 Feb 2018 15:29:57 +0000 (16:29 +0100)]
Rollup merge of #48397 - ordovicia:pow_doc, r=GuillaumeGomez

Take 2^5 as examples in document of pow()

Fixes #48396 by taking 2^5 as examples.

6 years agoRollup merge of #48382 - GuillaumeGomez:fix-rustdoc-test-panic, r=estebank
Guillaume Gomez [Wed, 21 Feb 2018 15:29:56 +0000 (16:29 +0100)]
Rollup merge of #48382 - GuillaumeGomez:fix-rustdoc-test-panic, r=estebank

Fix rustdoc test ICE

Fixes #48377.

r? @QuietMisdreavus

6 years agoRollup merge of #48360 - redcape:redcape-count-doc-fix, r=cramertj
Guillaume Gomez [Wed, 21 Feb 2018 15:29:55 +0000 (16:29 +0100)]
Rollup merge of #48360 - redcape:redcape-count-doc-fix, r=cramertj

Fix count usize link typo in docs

The docs point to isize when the link should be going to usize instead. Fix the doc.

6 years agoRollup merge of #48354 - m0ppers:add-read-until-link, r=aidanhs
Guillaume Gomez [Wed, 21 Feb 2018 15:29:54 +0000 (16:29 +0100)]
Rollup merge of #48354 - m0ppers:add-read-until-link, r=aidanhs

Add missing link for read_line

Seems I found a missing link 🔗

https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#errors-2

6 years agoRollup merge of #48352 - JakubAdamWieczorek:mailmap, r=petrochenkov
Guillaume Gomez [Wed, 21 Feb 2018 15:29:53 +0000 (16:29 +0100)]
Rollup merge of #48352 - JakubAdamWieczorek:mailmap, r=petrochenkov

Update .mailmap with my real name

Good morning, the Rust team!

Once upon a time I was a modest-scale contributor. Sadly, various turbulences made me step away from my participation in the project. It's great to see how far it's gone.

I would appreciate it if you accepted this small change to the .mailmap file so that it shows my real name as back then I was using an alias. If doubts arise if I am the same person, I will be happy to provide further evidence. :)

Kind regards.

6 years agoRollup merge of #48335 - Manishearth:shortcut-links, r=QuietMisdreavus
Guillaume Gomez [Wed, 21 Feb 2018 15:29:52 +0000 (16:29 +0100)]
Rollup merge of #48335 - Manishearth:shortcut-links, r=QuietMisdreavus

Implement implied shortcut links for intra-rustdoc-links

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

Needs https://github.com/google/pulldown-cmark/pull/126

r? @QuietMisdreavus

6 years agoRollup merge of #48325 - frewsxcv:frewxcv-ignore, r=steveklabnik
Guillaume Gomez [Wed, 21 Feb 2018 15:29:51 +0000 (16:29 +0100)]
Rollup merge of #48325 - frewsxcv:frewxcv-ignore, r=steveklabnik

Mark doc examples w/ `extern` blocks as `ignore`.

Fixes https://github.com/rust-lang/rust/issues/48218.