]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoalso fix the Fixed code
Niko Matsakis [Wed, 21 Mar 2018 23:23:29 +0000 (19:23 -0400)]
also fix the Fixed code

6 years agoWIP do not use in-band lifetimes
Niko Matsakis [Wed, 21 Mar 2018 23:22:41 +0000 (19:22 -0400)]
WIP do not use in-band lifetimes

6 years agoWIP tweak example to include feature gate
Niko Matsakis [Wed, 21 Mar 2018 20:31:20 +0000 (16:31 -0400)]
WIP tweak example to include feature gate

6 years agoWIP fix mir-opt-end-region-8
Niko Matsakis [Wed, 21 Mar 2018 13:24:32 +0000 (09:24 -0400)]
WIP fix mir-opt-end-region-8

6 years agowork around fallout from these changes in rustc
Niko Matsakis [Thu, 15 Mar 2018 20:17:27 +0000 (16:17 -0400)]
work around fallout from these changes in rustc

6 years agouse subtyping when we create a closure instead of for upvar types
Niko Matsakis [Thu, 15 Mar 2018 14:49:05 +0000 (10:49 -0400)]
use subtyping when we create a closure instead of for upvar types

We used to make the upvar types in the closure `==` but that was
stronger than we needed. Subtyping suffices, since we are copying the
upvar value into the closure field. This in turn allows us to infer
smaller lifetimes in captured values in some cases (like the example
here), avoiding errors.

6 years agoreport an error if we see an unexpected lifetime in impl Trait
Niko Matsakis [Thu, 15 Mar 2018 09:10:42 +0000 (05:10 -0400)]
report an error if we see an unexpected lifetime in impl Trait

But leave closure substs alone.

6 years agorewrite to use a custom folder
Niko Matsakis [Wed, 14 Mar 2018 21:29:09 +0000 (17:29 -0400)]
rewrite to use a custom folder

6 years agoAuto merge of #49190 - kennytm:rollup, r=kennytm
bors [Tue, 20 Mar 2018 10:18:34 +0000 (10:18 +0000)]
Auto merge of #49190 - kennytm:rollup, r=kennytm

Rollup of 17 pull requests

- Successful merges: #46518, #48810, #48834, #48902, #49004, #49092, #49096, #49099, #49104, #49125, #49139, #49152, #49157, #49161, #49166, #49176, #49184
- Failed merges:

6 years agoAuto merge of #48516 - petrochenkov:stabsl, r=nikomatsakis
bors [Tue, 20 Mar 2018 07:42:19 +0000 (07:42 +0000)]
Auto merge of #48516 - petrochenkov:stabsl, r=nikomatsakis

Stabilize slice patterns without `..`

And merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`.

The detailed description can be found in https://github.com/rust-lang/rust/issues/48836.

Slice patterns were unstable for long time since before 1.0 due to many bugs in the implementation, now this stabilization is possible primarily due to work of @arielb1 who [wrote the new MIR-based implementation of slice patterns](https://github.com/rust-lang/rust/pull/32202) and @mikhail-m1 who [fixed one remaining class of codegen issues](https://github.com/rust-lang/rust/pull/47926).

Reference PR https://github.com/rust-lang-nursery/reference/pull/259
cc https://github.com/rust-lang/rust/issues/23121
fixes #48836

6 years agoRollup merge of #49184 - bdrewery:update-beta-freebsd, r=alexcrichton
kennytm [Mon, 19 Mar 2018 23:15:34 +0000 (07:15 +0800)]
Rollup merge of #49184 - bdrewery:update-beta-freebsd, r=alexcrichton

Update beta to version with fixed FreeBSD support from #49023.

Fixes #42681

r? @alexcrichton

6 years agoRollup merge of #49176 - matthiaskrgr:config_example_rm_thinlto, r=alexcrichton
kennytm [Mon, 19 Mar 2018 23:15:33 +0000 (07:15 +0800)]
Rollup merge of #49176 - matthiaskrgr:config_example_rm_thinlto, r=alexcrichton

config.toml.example: thinlto bootstrap was removed

 It was removed in ff227c4a2d8a2fad5abf322f6f1391ae6779197f so remove the option that no longer works (we did not notice because it was commented out by default).

6 years agoRollup merge of #49166 - dileepbapat:pr-49133, r=nikomatsakis
kennytm [Mon, 19 Mar 2018 23:15:32 +0000 (07:15 +0800)]
Rollup merge of #49166 - dileepbapat:pr-49133, r=nikomatsakis

#49133 - Reworded the Error message: "`pub` not needed here" message

6 years agoRollup merge of #49161 - rust-lang:SimonSapin-patch-1, r=KodrAus
kennytm [Mon, 19 Mar 2018 23:15:30 +0000 (07:15 +0800)]
Rollup merge of #49161 - rust-lang:SimonSapin-patch-1, r=KodrAus

Docs: fix incorrect copy-paste for new `X?` in formatting strings

6 years agoRollup merge of #49157 - estebank:const-into, r=oli-obk
kennytm [Mon, 19 Mar 2018 23:15:29 +0000 (07:15 +0800)]
Rollup merge of #49157 - estebank:const-into, r=oli-obk

Do not suggest `.into()` in `const`s

Fix #49100.

6 years agoRollup merge of #49152 - GuillaumeGomez:rustdoc-event-handling, r=QuietMisdreavus
kennytm [Mon, 19 Mar 2018 23:15:28 +0000 (07:15 +0800)]
Rollup merge of #49152 - GuillaumeGomez:rustdoc-event-handling, r=QuietMisdreavus

Fix events handling in rustdoc

Fixes #49075.

6 years agoStabilize slice patterns without `..`
Vadim Petrochenkov [Sat, 24 Feb 2018 19:21:33 +0000 (22:21 +0300)]
Stabilize slice patterns without `..`

Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`

6 years agoRollup merge of #49139 - sfackler:bufreader-buffer, r=SimonSapin
kennytm [Mon, 19 Mar 2018 23:15:25 +0000 (07:15 +0800)]
Rollup merge of #49139 - sfackler:bufreader-buffer, r=SimonSapin

Add BufReader::buffer

This subsumes the need for an explicit is_empty function, and provides
access to the buffered data itself which has been requested from time to
time.

We could call this `buf` to match `fill_buf`, but I think I'd prefer `fill_buffer` anyways in hindsight.

6 years agoRollup merge of #49125 - NovemberZulu:master, r=alexcrichton
kennytm [Mon, 19 Mar 2018 23:15:24 +0000 (07:15 +0800)]
Rollup merge of #49125 - NovemberZulu:master, r=alexcrichton

rustbuild: Ship libsynchronization

Hot on the heels of #49044 comes similar issue with libsynchronization. Discovered while building clippy:
```
<skipped>
Compiling serde_derive v1.0.33
error: linking with `gcc` failed: exit code: 1
<skipped>
  = note: ld: cannot find -lsynchronization
```

r? @nikomatsakis

6 years agoRollup merge of #49104 - csmoe:semicolon_error, r=petrochenkov
kennytm [Mon, 19 Mar 2018 23:15:23 +0000 (07:15 +0800)]
Rollup merge of #49104 - csmoe:semicolon_error, r=petrochenkov

improve error message of inner attribute syntax

Fixes #49040

6 years agoRollup merge of #49099 - glandium:master, r=sfackler
kennytm [Mon, 19 Mar 2018 23:15:22 +0000 (07:15 +0800)]
Rollup merge of #49099 - glandium:master, r=sfackler

Use associated consts for GenericRadix base and prefix

The trait being private, this does not imply an API change.

6 years agoRollup merge of #49096 - alanhdu:master, r=alexcrichton
kennytm [Mon, 19 Mar 2018 23:15:20 +0000 (07:15 +0800)]
Rollup merge of #49096 - alanhdu:master, r=alexcrichton

Update rustfmt to 0.4.1

6 years agoRollup merge of #49092 - mark-i-m:deptrack_readme, r=nikomatsakis
kennytm [Mon, 19 Mar 2018 23:15:19 +0000 (07:15 +0800)]
Rollup merge of #49092 - mark-i-m:deptrack_readme, r=nikomatsakis

Replace many of the last references to readmes

In particular, this removes the dep track readme, so it should not be merged before https://github.com/rust-lang-nursery/rustc-guide/pull/92

Fix #47935

cc #48478

r? @nikomatsakis

6 years agoRollup merge of #49004 - wesleywiser:incr_specialization_graph_query, r=michaelwoerister
kennytm [Mon, 19 Mar 2018 23:15:18 +0000 (07:15 +0800)]
Rollup merge of #49004 - wesleywiser:incr_specialization_graph_query, r=michaelwoerister

Cache the specialization_graph query

Fixes #48987

r? @michaelwoerister

6 years agoRollup merge of #48902 - csmoe:refactor_BorrowckErrors_fn_self, r=nikomatsakis
kennytm [Mon, 19 Mar 2018 23:15:16 +0000 (07:15 +0800)]
Rollup merge of #48902 - csmoe:refactor_BorrowckErrors_fn_self, r=nikomatsakis

refactor the `BorrowckErrors` trait to take `fn(self)`

Fixes #48783

6 years agoRollup merge of #48834 - ysiraichi:suggest-remove-ref, r=estebank
kennytm [Mon, 19 Mar 2018 23:15:15 +0000 (07:15 +0800)]
Rollup merge of #48834 - ysiraichi:suggest-remove-ref, r=estebank

Suggest removing `&`s

This implements the error message discussed in #47744.
We check whether removing each `&` yields a type that satisfies the requested obligation.
Also, it was created a new `NodeId` field in `ObligationCause` in order to iterate through the `&`s. The way it's implemented now, it iterates through the obligation snippet and counts the number of `&`.

r? @estebank

6 years agoRollup merge of #48810 - Phlosioneer:32463-impl-integer-for-wrapping, r=dtolnay
kennytm [Mon, 19 Mar 2018 23:15:14 +0000 (07:15 +0800)]
Rollup merge of #48810 - Phlosioneer:32463-impl-integer-for-wrapping, r=dtolnay

Implement Integer methods for Wrapping

Wrapping<T> now implements:

count_ones, count_zeros, leading_zeros,
trailing_zeros, rotate_left, rotate_right, swap_bytes, from_be,
from_le, to_be, to_le, and pow

where T is:

u8, u16, u32, u64, usize, i8, i16, i32, i64, or isize.

Docs were written for all these methods, as well as examples. The
examples mirror the ones on u8, u16, etc... for consistency.

Closes #32463

6 years agoRollup merge of #46518 - partim:asref-borrow-doc, r=dtolnay
kennytm [Mon, 19 Mar 2018 23:15:12 +0000 (07:15 +0800)]
Rollup merge of #46518 - partim:asref-borrow-doc, r=dtolnay

Improve documentation for Borrow

This is the first step in improving the documentation for all the reference conversion traits. It proposes new text for the trait documentation of `Borrow`. Since I feel it is a somewhat radical rewrite and includes a stricter contract for `Borrow` then the previous text—namely that *all* shared traits need to behave the same, not just a select few—, I wanted to get some feedback before continuing.

Apart from the ‘normative’ description, the new text also includes a fairly extensive explanation of how the trait is used in the examples section. I included it because every time I look at how `HashMap` uses the trait, I need to think for a while as the use is a bit twisted. So, I thought having this thinking written down as part of the trait itself might be useful. One could argue that this should go into The Book, and, while I really like having everything important in the docs, I can see the text moved there, too.

So, before I move on: is this new text any good? Do we feel it is correct, useful, comprehensive, and understandable?

(This PR is in response to #44868 and #24140.)

6 years agoAuto merge of #49058 - withoutboats:pin, r=cramertj
bors [Mon, 19 Mar 2018 23:01:37 +0000 (23:01 +0000)]
Auto merge of #49058 - withoutboats:pin, r=cramertj

Pin, Unpin, PinBox

Implementing rust-lang/rfcs#2349 (do not merge until RFC is merged)

@bors r? @cramertj

6 years agoOkay this is the right way.
boats [Mon, 19 Mar 2018 22:48:48 +0000 (15:48 -0700)]
Okay this is the right way.

6 years agoComment out entire test.
boats [Mon, 19 Mar 2018 22:34:11 +0000 (15:34 -0700)]
Comment out entire test.

6 years agoIgnore properly.
boats [Mon, 19 Mar 2018 20:15:15 +0000 (13:15 -0700)]
Ignore properly.

6 years agoComment out flakey test.
boats [Mon, 19 Mar 2018 20:13:31 +0000 (13:13 -0700)]
Comment out flakey test.

6 years agoUpdate beta to version with fixed FreeBSD support from #49023.
Bryan Drewery [Mon, 19 Mar 2018 19:40:42 +0000 (12:40 -0700)]
Update beta to version with fixed FreeBSD support from #49023.

Fixes #42681

6 years agoDo not suggest `.into()` in `const`s
Esteban Küber [Mon, 19 Mar 2018 01:18:35 +0000 (18:18 -0700)]
Do not suggest `.into()` in `const`s

6 years agoconfig.toml.example: thinlto bootstrap was removed in ff227c4a2d8a2fad5abf322f6f1391a...
Matthias Krüger [Mon, 19 Mar 2018 14:14:19 +0000 (15:14 +0100)]
config.toml.example: thinlto bootstrap was removed in ff227c4a2d8a2fad5abf322f6f1391ae6779197f so remove the option.

6 years agoUpdate rustfmt to 0.4.1
Alan Du [Mon, 19 Mar 2018 14:14:13 +0000 (10:14 -0400)]
Update rustfmt to 0.4.1

6 years ago#49133 - Reworded the Error message: "`pub` not needed here" message
Dileep Bapat [Mon, 19 Mar 2018 11:14:58 +0000 (16:44 +0530)]
#49133 - Reworded the Error message: "`pub` not needed here" message

6 years ago#49133 - Reworded the Error message: "`pub` not needed here" message
Dileep Bapat [Mon, 19 Mar 2018 11:14:58 +0000 (16:44 +0530)]
#49133 - Reworded the Error message: "`pub` not needed here" message

6 years agoAuto merge of #49079 - oli-obk:cross_miri, r=michaelwoerister
bors [Mon, 19 Mar 2018 10:39:26 +0000 (10:39 +0000)]
Auto merge of #49079 - oli-obk:cross_miri, r=michaelwoerister

Cleanup metadata and incremental cache processing of constants

fixes #49033
fixes #49081

we really need tests for this. do we have any cross compilation tests? I couldn't find any

6 years agoAuto merge of #49108 - SimonSapin:sip, r=TimNN
bors [Mon, 19 Mar 2018 07:49:32 +0000 (07:49 +0000)]
Auto merge of #49108 - SimonSapin:sip, r=TimNN

Remove or hide deprecated unstable SipHasher{13,24}

Deprecated since Rust 1.13.0.

6 years agoDocs: fix incorrect copy-paste for new `X?` in formatting strings
Simon Sapin [Mon, 19 Mar 2018 06:37:59 +0000 (07:37 +0100)]
Docs: fix incorrect copy-paste for new `X?` in formatting strings

6 years agoFix trailing whitespace
Phlosioneer [Thu, 8 Mar 2018 08:30:55 +0000 (03:30 -0500)]
Fix trailing whitespace

6 years agoMake Wrapping::pow use wrapping_pow, add example
Phlosioneer [Thu, 8 Mar 2018 07:31:15 +0000 (02:31 -0500)]
Make Wrapping::pow use wrapping_pow, add example

6 years agoImpl Integer methods for Wrapping
Phlosioneer [Wed, 7 Mar 2018 04:17:49 +0000 (23:17 -0500)]
Impl Integer methods for Wrapping

Wrapping<T> now implements:

count_ones, count_zeros, leading_zeros,
trailing_zeros, rotate_left, rotate_right, swap_bytes, from_be,
from_le, to_be, to_le, and pow

where T is:

u8, u16, u32, u64, usize, i8, i16, i32, i64, or isize.

Docs were written for all these methods, as well as examples. The
examples mirror the ones on u8, u16, etc... for consistency.

Closes #32463

6 years agoAuto merge of #49091 - nikomatsakis:issue-49043-ty-infer-hash, r=michaelwoerister
bors [Mon, 19 Mar 2018 05:07:27 +0000 (05:07 +0000)]
Auto merge of #49091 - nikomatsakis:issue-49043-ty-infer-hash, r=michaelwoerister

extend stable hasher to support `CanonicalTy`

Fixes #49043

r? @michaelwoerister

6 years agoAuto merge of #48978 - SimonSapin:debug-hex, r=KodrAus
bors [Mon, 19 Mar 2018 02:38:19 +0000 (02:38 +0000)]
Auto merge of #48978 - SimonSapin:debug-hex, r=KodrAus

Add hexadecimal formatting of integers with fmt::Debug

This can be used for integers within a larger types which implements Debug (possibly through derive) but not fmt::UpperHex or fmt::LowerHex.

```rust
assert!(format!("{:02x?}", b"Foo\0") == "[46, 6f, 6f, 00]");
assert!(format!("{:02X?}", b"Foo\0") == "[46, 6F, 6F, 00]");
```

RFC: https://github.com/rust-lang/rfcs/pull/2226

The new formatting string syntax (`x?` and `X?`) is insta-stable in this PR because I don’t know how to change a built-in proc macro’s behavior based of a feature gate. I can look into adding that, but I also strongly suspect that keeping this feature unstable for a time period would not be useful as possibly no-one would use it during that time.

This PR does not add the new (public) `fmt::Formatter` proposed in the API because:

* There was some skepticism on response to this part of the RFC
* It is not possible to implement as-is without larger changes to `fmt`, because `Formatter` at the moment has no easy way to tell apart for example `Octal` from `Binary`: it only has a function pointer for the relevant `fmt()` method.

If some integer-like type outside of `std` want to implement this behavior, another RFC will likely need to propose a different public API for `Formatter`.

6 years agoAuto merge of #49095 - alexcrichton:debug-asmjs, r=kennytm
bors [Mon, 19 Mar 2018 00:02:32 +0000 (00:02 +0000)]
Auto merge of #49095 - alexcrichton:debug-asmjs, r=kennytm

Try to reduce amount of time on the asmjs builder

This PR has two commits for two separate strategies:

* First it disables optimizations for all tests, hopefully saving time by not optimizing the test code. This caused a number of run-pass tests to fail which are switched to being ignored here.
* Next it disables a number of test suites which aren't asm.js specific and already run elsewhere

cc #48826

6 years agoCleaned comments and extras s.
Yukio Siraichi [Sun, 18 Mar 2018 23:58:56 +0000 (20:58 -0300)]
Cleaned comments and extras s.

6 years agoCodeMap functions refactored.
Yukio Siraichi [Sun, 18 Mar 2018 13:05:20 +0000 (10:05 -0300)]
CodeMap functions refactored.

- Using `span_take_while` to implement others.

6 years agoReview fixes.
Yukio Siraichi [Sat, 17 Mar 2018 18:41:46 +0000 (15:41 -0300)]
Review fixes.

- `span_suggestion` changed to `span_suggestion_short`;
- `Span` used changed to contain only `&` refs;
- Tests passing.

6 years agoReporting with `span_suggestion_short`.
Yukio Siraichi [Fri, 16 Mar 2018 20:58:11 +0000 (17:58 -0300)]
Reporting with `span_suggestion_short`.

6 years agoRebased with master.
Yukio Siraichi [Wed, 14 Mar 2018 15:49:06 +0000 (12:49 -0300)]
Rebased with master.

6 years agoCreated multiple line test.
Yukio Siraichi [Wed, 14 Mar 2018 09:42:27 +0000 (06:42 -0300)]
Created multiple line test.

6 years agoKeeping code formatting.
Yukio Siraichi [Wed, 14 Mar 2018 09:41:05 +0000 (06:41 -0300)]
Keeping code formatting.

Suggesting snippet without changing the original formatting of the code.

6 years agoReview fixes.
Yukio Siraichi [Tue, 13 Mar 2018 04:06:04 +0000 (01:06 -0300)]
Review fixes.

- `suggest_snippet` handling space between refs;
- Suggest message changing according to the number of refs that should
be removed.

6 years agoNew test added.
Yukio Siraichi [Tue, 13 Mar 2018 04:05:46 +0000 (01:05 -0300)]
New test added.

6 years agoTest added.
Yukio Siraichi [Tue, 13 Mar 2018 02:40:55 +0000 (23:40 -0300)]
Test added.

6 years agoRefactored with high-order functions.
Yukio Siraichi [Sun, 11 Mar 2018 05:21:38 +0000 (02:21 -0300)]
Refactored with high-order functions.

6 years agoUpdate tracking issue.
boats [Sun, 18 Mar 2018 22:05:45 +0000 (15:05 -0700)]
Update tracking issue.

6 years agoAdd BufReader::buffer
Steven Fackler [Sun, 18 Mar 2018 16:18:18 +0000 (09:18 -0700)]
Add BufReader::buffer

This subsumes the need for an explicit is_empty function, and provides
access to the buffered data itself which has been requested from time to
time.

6 years agoAuto merge of #49134 - oli-obk:clippy, r=kennytm
bors [Sun, 18 Mar 2018 17:22:17 +0000 (17:22 +0000)]
Auto merge of #49134 - oli-obk:clippy, r=kennytm

Update clippy and RLS

r? @Manishearth

6 years agoFix events handling in rustdoc
Guillaume Gomez [Sun, 18 Mar 2018 15:32:41 +0000 (16:32 +0100)]
Fix events handling in rustdoc

6 years agoUpdate RLS.
kennytm [Sun, 18 Mar 2018 14:26:57 +0000 (22:26 +0800)]
Update RLS.

6 years agoUpdate clippy
Oliver Schneider [Sun, 18 Mar 2018 12:29:57 +0000 (13:29 +0100)]
Update clippy

6 years agoremove unneeded where clause
csmoe [Thu, 15 Mar 2018 10:39:44 +0000 (18:39 +0800)]
remove unneeded where clause

6 years agoFix formatting.
Martin Hoffmann [Sun, 18 Mar 2018 12:05:00 +0000 (13:05 +0100)]
Fix formatting.

6 years agoAuto merge of #48986 - matklad:update-cargo, r=alexcrichton
bors [Sun, 18 Mar 2018 10:03:18 +0000 (10:03 +0000)]
Auto merge of #48986 - matklad:update-cargo, r=alexcrichton

Update Cargo

r? @alexcrichton

Let's put new clap argument parsing in production to see if anything dies in flames :)

6 years agoAuto merge of #48985 - scalexm:lowering, r=nikomatsakis
bors [Sun, 18 Mar 2018 07:35:43 +0000 (07:35 +0000)]
Auto merge of #48985 - scalexm:lowering, r=nikomatsakis

MVP for chalkification

r? @nikomatsakis

6 years agoAuto merge of #48917 - petrochenkov:import, r=oli-obk
bors [Sun, 18 Mar 2018 01:50:52 +0000 (01:50 +0000)]
Auto merge of #48917 - petrochenkov:import, r=oli-obk

syntax: Make imports in AST closer to the source and cleanup their parsing

This is a continuation of https://github.com/rust-lang/rust/pull/45846 in some sense.

6 years agorustbuild: Ship libsynchronization
Maxim Nazarenko [Sun, 18 Mar 2018 01:05:00 +0000 (03:05 +0200)]
rustbuild: Ship libsynchronization

Ship libsynchronization from MinGW

6 years agoAuto merge of #48842 - petrochenkov:under, r=nikomatsakis
bors [Sat, 17 Mar 2018 23:22:57 +0000 (23:22 +0000)]
Auto merge of #48842 - petrochenkov:under, r=nikomatsakis

syntax: Make `_` a reserved identifier

Why:
- Lexically `_` is an identifier.
- Internally it makes implementation of `use Trait as _;` (https://github.com/rust-lang/rust/issues/48216) and some other things cleaner.
- We prevent the externally observable effect of `_` being accepted by macros expecting `ident` by treating `_` specially in the `ident` matcher:
```rust
macro_rules! m {
    ($i: ident) => { let $i = 10; }
}

m!(_); // Still an error
```

6 years agoAdd some docs + Fix rebase
Vadim Petrochenkov [Mon, 12 Mar 2018 20:16:09 +0000 (23:16 +0300)]
Add some docs + Fix rebase

6 years agoCleanup import parsing
Vadim Petrochenkov [Sat, 10 Mar 2018 15:44:44 +0000 (18:44 +0300)]
Cleanup import parsing

Fix spans of root segments

6 years agoRename `Span::empty` to `Span::shrink_to_lo`, add `Span::shrink_to_hi`
Vadim Petrochenkov [Sat, 10 Mar 2018 14:45:47 +0000 (17:45 +0300)]
Rename `Span::empty` to `Span::shrink_to_lo`, add `Span::shrink_to_hi`

6 years agoAST: Keep distinction between `path` and `::path` in imports and visibilities
Vadim Petrochenkov [Fri, 9 Mar 2018 23:02:39 +0000 (02:02 +0300)]
AST: Keep distinction between `path` and `::path` in imports and visibilities

Add the root segment for name resolution purposes only

6 years agoAST: Make renames in imports closer to the source
Vadim Petrochenkov [Fri, 9 Mar 2018 15:58:44 +0000 (18:58 +0300)]
AST: Make renames in imports closer to the source

Fix `unused_import_braces` lint false positive on `use prefix::{self as rename}`

6 years agoAST/HIR: Clarify what the optional name in extern crate items mean
Vadim Petrochenkov [Fri, 9 Mar 2018 15:51:48 +0000 (18:51 +0300)]
AST/HIR: Clarify what the optional name in extern crate items mean

6 years agoReject `_` in `ident` matcher
Vadim Petrochenkov [Sat, 17 Mar 2018 19:08:18 +0000 (22:08 +0300)]
Reject `_` in `ident` matcher

6 years agosyntax: Make `_` an identifier
Vadim Petrochenkov [Thu, 8 Mar 2018 11:27:23 +0000 (14:27 +0300)]
syntax: Make `_` an identifier

6 years agoAdd span_suggestion while removing TyRefs based on the snippet String.
Yukio Siraichi [Fri, 9 Feb 2018 18:04:12 +0000 (19:04 +0100)]
Add span_suggestion while removing TyRefs based on the snippet String.

6 years agoAuto merge of #48936 - Zoxc:cstore, r=michaelwoerister
bors [Sat, 17 Mar 2018 17:30:14 +0000 (17:30 +0000)]
Auto merge of #48936 - Zoxc:cstore, r=michaelwoerister

Make CrateMetadata and CStore thread-safe

r? @michaelwoerister

6 years agoimprove attribute trailing semicolon error
csmoe [Sat, 17 Mar 2018 05:46:45 +0000 (13:46 +0800)]
improve attribute trailing semicolon error

6 years agoRewrite the documentation for BorrowMut.
Martin Hoffmann [Sat, 17 Mar 2018 13:09:45 +0000 (14:09 +0100)]
Rewrite the documentation for BorrowMut.

6 years agoBring back the phrase 'borrowing as' for what Borrow does.
Martin Hoffmann [Sat, 17 Mar 2018 13:05:24 +0000 (14:05 +0100)]
Bring back the phrase 'borrowing as' for what Borrow does.

6 years agoMark deprecated unstable SipHasher13 as a doc-hidden impl detail of HashMap.
Simon Sapin [Sat, 17 Mar 2018 10:07:50 +0000 (11:07 +0100)]
Mark deprecated unstable SipHasher13 as a doc-hidden impl detail of HashMap.

It stays in libcore rather than being private in HashMap’s module
because it shares code with the deprecated *stable* `SipHasher` type.

6 years agoAuto merge of #49106 - kennytm:rollup, r=kennytm
bors [Sat, 17 Mar 2018 11:39:38 +0000 (11:39 +0000)]
Auto merge of #49106 - kennytm:rollup, r=kennytm

Rollup of 8 pull requests

- Successful merges: #48943, #48960, #48983, #49055, #49057, #49077, #49082, #49083
- Failed merges:

6 years agoMake the deprecated unstable SipHasher24 type private.
Simon Sapin [Sat, 17 Mar 2018 09:40:49 +0000 (10:40 +0100)]
Make the deprecated unstable SipHasher24 type private.

It is still used by the deprecated *stable* `SipHasher` type.

6 years agoRollup merge of #49083 - oli-obk:mopsgeschwindigkeit, r=michaelwoerister
kennytm [Sat, 17 Mar 2018 09:20:49 +0000 (17:20 +0800)]
Rollup merge of #49083 - oli-obk:mopsgeschwindigkeit, r=michaelwoerister

Only generate miri backtraces if explicitly requested

fixes #49072
fixes #48888

r? @michaelwoerister

6 years agoRollup merge of #49082 - SimonSapin:mu, r=alexcrichton
kennytm [Sat, 17 Mar 2018 09:20:48 +0000 (17:20 +0800)]
Rollup merge of #49082 - SimonSapin:mu, r=alexcrichton

Remove deprecated unstable alloc::heap::EMPTY constant

6 years agoRollup merge of #49077 - sinkuu:macro_use_typo, r=estebank
kennytm [Sat, 17 Mar 2018 09:20:47 +0000 (17:20 +0800)]
Rollup merge of #49077 - sinkuu:macro_use_typo, r=estebank

Checks for unknown attributes before aborting due to unresolved macros

Fixes #49074

The ``attribute `...` is currently unknown to the compiler`` error was not shown if there are any unresolved macros, which might be caused by mistyped `macro_use`.

6 years agoRollup merge of #49057 - Zoxc:fast-submodules, r=alexcrichton
kennytm [Sat, 17 Mar 2018 09:20:46 +0000 (17:20 +0800)]
Rollup merge of #49057 - Zoxc:fast-submodules, r=alexcrichton

Faster submodule updating

For the common case when there are no submodules which need updating, this takes 0.48 seconds instead of 47 seconds.

r? @alexcrichton

6 years agoRollup merge of #49055 - alexcrichton:ship-more-libs, r=nikomatsakis
kennytm [Sat, 17 Mar 2018 09:20:44 +0000 (17:20 +0800)]
Rollup merge of #49055 - alexcrichton:ship-more-libs, r=nikomatsakis

rustbuild: Add more MinGW libraries to ship

Closes #49044

6 years agoRollup merge of #48983 - gnzlbg:red, r=alexcrichton
kennytm [Sat, 17 Mar 2018 09:20:43 +0000 (17:20 +0800)]
Rollup merge of #48983 - gnzlbg:red, r=alexcrichton

add intrinsics for portable packed simd vector reductions

Adds the following portable vector reduction intrinsics:

* fn simd_reduce_add<T, U>(x: T) -> U;
* fn simd_reduce_mul<T, U>(x: T) -> U;
* fn simd_reduce_min<T, U>(x: T) -> U;
* fn simd_reduce_max<T, U>(x: T) -> U;
* fn simd_reduce_and<T, U>(x: T) -> U;
* fn simd_reduce_or<T, U>(x: T) -> U;
* fn simd_reduce_xor<T, U>(x: T) -> U;

I've also added:

* fn simd_reduce_all<T>(x: T) -> bool;
* fn simd_reduce_any<T>(x: T) -> bool;

These produce better code that what we are currently producing in `stdsimd`, but the code is still not optimal due to this LLVM bug:  https://bugs.llvm.org/show_bug.cgi?id=36702

r? @alexcrichton

6 years agoRollup merge of #48960 - nikomatsakis:issue-48468-dyn-trait-elision, r=cramertj
kennytm [Sat, 17 Mar 2018 09:20:42 +0000 (17:20 +0800)]
Rollup merge of #48960 - nikomatsakis:issue-48468-dyn-trait-elision, r=cramertj

resolve `'_` in `dyn Trait` just like ordinary elision

r? @cramertj

Fixes #48468

6 years agoRollup merge of #48943 - comex:verbose, r=kennytm
kennytm [Sat, 17 Mar 2018 09:20:41 +0000 (17:20 +0800)]
Rollup merge of #48943 - comex:verbose, r=kennytm

Support extra-verbose builds

- The bootstrap crate currently passes -v to Cargo if itself invoked with -vv.  But Cargo supports -vv (to show build script output), so make bootstrap pass that if itself invoked with -vvv.  (More specifically, pass N '-v's to Cargo if invoked with N+1 of them.)

- bootstrap.py currently tries to pass on up to two '-v's to cargo when building bootstrap, but incorrectly ('-v' is marked as 'store_true', so argparse stores either False or True, ignoring multiple '-v's).  Fix this, allow passing any number of '-v's, and make it consistent with bootstrap's invocation of Cargo (i.e. subtract one from the number of '-v's).

- Also improve bootstrap.py's config.toml 'parsing' to support arbitrary verbosity levels, + allow command line to override it.

6 years agoAuto merge of #48904 - Zoxc:code-and-file-maps, r=michaelwoerister
bors [Sat, 17 Mar 2018 08:54:22 +0000 (08:54 +0000)]
Auto merge of #48904 - Zoxc:code-and-file-maps, r=michaelwoerister

Make CodeMap and FileMap thread-safe

r? @michaelwoerister

6 years agoUse associated consts for GenericRadix base and prefix
Mike Hommey [Sat, 17 Mar 2018 00:45:03 +0000 (09:45 +0900)]
Use associated consts for GenericRadix base and prefix

6 years agoAuto merge of #49090 - QuietMisdreavus:test-rustdoc-again, r=Mark-Simulacrum
bors [Sat, 17 Mar 2018 03:15:21 +0000 (03:15 +0000)]
Auto merge of #49090 - QuietMisdreavus:test-rustdoc-again, r=Mark-Simulacrum

re-enable testing librustdoc

This was originally put in in https://github.com/rust-lang/rust/pull/44274, but https://github.com/rust-lang/rust/pull/48105 accidentally hid it. This change puts librustdoc unit/doc tests back in the main test listing.

fixes https://github.com/rust-lang/rust/issues/44237 (again)

6 years agoAuto merge of #49088 - michaelwoerister:fix-49070, r=nikomatsakis
bors [Sat, 17 Mar 2018 00:48:10 +0000 (00:48 +0000)]
Auto merge of #49088 - michaelwoerister:fix-49070, r=nikomatsakis

incr.comp.: Make sanity check in try_mark_green() aware of error conditions.

Before this PR, `DepGraph::try_mark_green()` assumed that forcing a query would always set the color of the corresponding dep-node. However, it did not take into account that queries could also fail (e.g. with a cycle error). This PR makes the method handle that condition gracefully.

Fixes #49070.

r? @nikomatsakis