Commit Graph

77532 Commits

Author SHA1 Message Date
Guillaume Gomez
8f6b42711f
Rollup merge of #50214 - GuillaumeGomez:JS-improvements, r=QuietMisdreavus
Js improvements

r? @QuietMisdreavus
2018-04-26 10:11:15 +02:00
Guillaume Gomez
0d758ecc61
Rollup merge of #50207 - wesleywiser:hash_const_data, r=eddyb
Hash EntryKind::AssociatedConst const data

Related to #49991
r? @michaelwoerister
cc @eddyb
2018-04-26 10:11:14 +02:00
Guillaume Gomez
3b49b27e0c
Rollup merge of #50177 - matthiaskrgr:std_std_replacen__must_use, r=oli-obk
mark std::str::replace(,n) as #[must_use]

let x = "a b c c";
x.replacen("c", "d", 2");
might not do what people might think it does.
2018-04-26 10:11:11 +02:00
Anthony Ramine
3ca6ad922e Use ScalarPair for tagged enums 2018-04-26 09:30:28 +02:00
Oliver Schneider
195c9f47e9
Allow variant discriminant initializers to refer to other initializers of the same enum 2018-04-26 08:54:14 +02:00
bors
1515cded74 Auto merge of #49732 - Zoxc:sync-dep-graph, r=michaelwoerister
Make incremental compilation thread-safe

r? @michaelwoerister
2018-04-26 06:38:14 +00:00
bors
c18778704c Auto merge of #50236 - nrc:update, r=alexcrichton
Update rustfmt and rls

r? @alexcrichton
2018-04-26 03:36:22 +00:00
Nick Cameron
612830dc77 handle license check 2018-04-26 15:10:11 +12:00
Nicholas Nethercote
259ae18139 Implement LazyBTreeMap and use it in a few places.
This is a thin wrapper around BTreeMap that avoids allocating upon
creation. It speeds up some rustc-perf benchmarks by up to 3.6%.
2018-04-26 11:55:06 +10:00
bors
84ce67ef95 Auto merge of #50131 - Manishearth:crate-in-local, r=petrochenkov
Allow crate:: in local paths

Currently if you want to use `crate` locally you have to do `::crate::`. This shouldn't be necessary

(will fix up tests later)

r? @petrochenkov
2018-04-25 23:25:47 +00:00
Nick Cameron
127f9a6416 Update rustfmt and rls 2018-04-26 10:11:28 +12:00
Manish Goregaokar
4e2cd4104a Approximate -> Applicability 2018-04-25 14:55:25 -07:00
Mark Mansi
a2105b8e21 make RawVec::empty const 2018-04-25 16:42:57 -05:00
Mark Mansi
256096da9e Make Vec::new const 2018-04-25 16:33:02 -05:00
bors
6eb4f1d036 Auto merge of #50016 - tmandry:cleanup-binder, r=nikomatsakis
Make Binder's field private and clean up its usage

AKA "tour de rustc"

Closes #49814.
2018-04-25 20:58:53 +00:00
Kornel
1912f39e7c Update book submodule to pass linkchecker test 2018-04-25 21:56:06 +01:00
Kornel
f6a833a99a Suggest alternatives to Error::description() 2018-04-25 21:54:33 +01:00
Simon Sapin
a5655b81a3 Move description of the Error trait to its own doc-comment
… rather than the module’s.

Remove code definition of the Error trait from its doc-comment

It was out of date, and rustdoc already shows the same information.

Add a default impl for Error::description and document it as deprecated.

It is redundant with Display while being much less flexible for implementors.

This is only a "soft" deprecation: it is not worth the hassle of a warning to existing users.

Tweak Error trait docs to reflect actual requirements
2018-04-25 21:54:33 +01:00
Manish Goregaokar
9f5e08e0a1 Fix crate:: in local paths 2018-04-25 12:01:59 -07:00
bors
25749ad66d Auto merge of #49321 - ishitatsuyuki:compile-pass, r=alexcrichton
Introduce compile-pass

r? @alexcrichton

The plan is to move things that cannot fail (no assert, unwrap, etc) out so we don't have to run them, and in the long term we can also stop running LLVM for them.

Out of 3215 tests...

```
Language            Files        Lines         Code     Comments       Blanks
Rust                 3215       119254        64688        35135        19431
```

16% of them has an empty main (which is already moved in this PR).

```
grep -rnPzl 'fn main\(\)\s*{\s*}' | xargs rg --files-without-match cfg | wc -l
547
```

And only 50% of the tests contains assertions:

```
rg -e assert -e unwrap -e expect -e panic -l | wc -l
1600
```

The remainder is likely able to get moved, but they need check by a human so I didn't touch them in PR.

cc @rust-lang/compiler

* [ ] Update documentation
2018-04-25 14:52:30 +00:00
Michael Woerister
a95bff3ed4 Bump bootstrap compiler to 2018-04-24 2018-04-25 15:57:33 +02:00
Ralf Biedert
1bcb267651
Added missing . in docs. 2018-04-25 14:14:43 +02:00
bors
81135c9dbc Auto merge of #50134 - andjo403:jobserver, r=michaelwoerister
make rustdoc test follow the jobserver limit of threads

fix that to many threads is executing at the same time
when rustdoc test is executed.
2018-04-25 11:40:18 +00:00
z4v1er
011df4ac88
Fix type 2018-04-25 13:51:51 +03:00
John Kåre Alsaker
3f802ee801 Move the Lock into OpenTask 2018-04-25 11:55:12 +02:00
John Kåre Alsaker
8ec629b3a0 Address comments 2018-04-25 11:25:40 +02:00
John Kåre Alsaker
64b5d408e6 Make DepGraph thread-safe 2018-04-25 11:25:40 +02:00
bors
5ec6637c15 Auto merge of #50110 - oli-obk:warn_all_the_constants, r=estebank
Warn on all erroneous constants

fixes #49791
fixes #47054

@Zoxc this PR triggers the nondeterministic errors of https://github.com/rust-lang/rust/pull/49950#issuecomment-383074959 really often (at least on stage1).
2018-04-25 09:19:07 +00:00
Tatsuyuki Ishi
00bc634f8f compiletest: introduce skip-trans 2018-04-25 18:18:03 +09:00
Guillaume Gomez
ac0f99c03f Some JS improvements 2018-04-25 09:01:32 +02:00
bors
cc79420968 Auto merge of #50106 - nnethercote:nearest_common_ancestor, r=nikomatsakis
Speed up `nearest_common_ancestor`.

`nearest_common_ancestor` can be made faster.

Here are all the benchmarks where one of the measurements improved by at least 1%.
```
clap-rs-check
	avg: -4.5%	min: -8.8%	max: -0.3%
clap-rs
	avg: -2.6%	min: -4.5%	max: 0.5%
script-servo
	avg: -1.7%	min: -3.6%	max: 0.0%
regression-31157
	avg: -1.5%	min: -2.6%	max: -0.4%
hyper
	avg: -1.2%	min: -2.5%	max: -0.0%
piston-image
	avg: -1.6%	min: -2.5%	max: 0.1%
regex
	avg: -1.2%	min: -2.2%	max: 0.0%
issue-46449
	avg: -1.8%	min: -2.1%	max: -0.7%
crates.io
	avg: -1.2%	min: -2.1%	max: 0.0%
hyper-check
	avg: -1.0%	min: -2.1%	max: -0.1%
clap-rs-opt
	avg: -1.4%	min: -2.0%	max: -0.3%
piston-image-check
	avg: -1.2%	min: -1.9%	max: -0.1%
regex-check
	avg: -0.5%	min: -1.8%	max: -0.1%
syn
	avg: -1.1%	min: -1.7%	max: -0.1%
tokio-webpush-simple-check
	avg: -1.1%	min: -1.6%	max: -0.3%
tokio-webpush-simple
	avg: -1.2%	min: -1.6%	max: -0.0%
helloworld-check
	avg: -1.4%	min: -1.6%	max: -1.2%
deeply-nested
	avg: -1.2%	min: -1.4%	max: -0.8%
encoding-check
	avg: -0.8%	min: -1.3%	max: -0.3%
unify-linearly-check
	avg: -1.0%	min: -1.3%	max: -0.8%
script-servo-check
	avg: -0.6%	min: -1.3%	max: 0.0%
regression-31157-check
	avg: -0.9%	min: -1.2%	max: -0.7%
script-servo-opt
	avg: -0.5%	min: -1.2%	max: 0.1%
deeply-nested-check
	avg: -0.8%	min: -1.2%	max: -0.7%
encoding
	avg: -0.7%	min: -1.1%	max: -0.3%
issue-46449-check
	avg: -0.9%	min: -1.1%	max: -0.6%
parser-check
	avg: -0.9%	min: -1.1%	max: -0.8%
html5ever
	avg: -0.5%	min: -1.0%	max: -0.0%
```
2018-04-25 06:48:40 +00:00
bors
432fe0cefc Auto merge of #50100 - Manishearth:edition-path-lint, r=nikomatsakis
Edition breakage lint for absolute paths starting with modules

We plan to enable `extern_absolute_paths` in the 2018 edition. To allow for that, folks must transition their paths in a previous edition to the new one. This makes paths which import module contents via `use module::` or `::module::` obsolete, and we must edition-lint these.

https://internals.rust-lang.org/t/the-great-module-adventure-continues/6678/205?u=manishearth is the current plan for paths.

r? @nikomatsakis

Fixes #48722
2018-04-25 04:19:06 +00:00
Wesley Wiser
d81d081df3 Hash EntryKind::AssociatedConst const data
Related to #49991
2018-04-24 23:18:58 -04:00
Tyler Mandry
9ffe9bea53 Remove methods with implicit Binder::skip_bound
Fixes #20664.
2018-04-24 22:12:07 -05:00
Tyler Mandry
98546f8b26 Make Binder's field private and clean up its usage 2018-04-24 22:12:07 -05:00
Mike Hommey
bd8c177d49 Switch box_free to take the destructured contents of Box
As of now, Box only contains a Unique pointer, so this is the sole
argument to box_free. Consequently, we remove the code supporting
the previous box_free signature. We however keep the old definition
for bootstrapping purpose.
2018-04-25 11:39:07 +09:00
bors
0c5740feb2 Auto merge of #49986 - zofrex:better-derived-argument-names, r=Manishearth
Provide better names for builtin deriving-generated attributes

First attempt at fixing #49967

Not in love with any choices here, don't be shy if you aren't happy with anything :)

I've tested that this produces nicer names in documentation, and that it no longer has issues conflicting with constants with the same name. (I guess we _could_ make a test for that... unsure if that would be valuable)

In all cases I took the names from the methods as declared in the relevant trait.

In some cases I had to prepend the names with _ otherwise there were errors about un-used variables. I'm uneasy with the inconsistency... do they all need to be like that? Is there a way to generate an alternate impl or use a different name (`_`?) in the cases where the arguments are not used?

Lastly the gensym addition to Ident I implemented largely as suggested, but I want to point out it's a little circuitous (at least, as far as I understand it). `cx.ident_of(name)` is just `Ident::from_str`, so we create an Ident then another Ident from it. `Ident::with_empty_ctxt(Symbol::gensym(string))` may or may not be equivalent, I don't know if it's important to intern it _then_ gensym it. It seems like either we could use that, or if we do want a new method to make this convenient, it could be on Ident instead (`from_str_gensymed`?)
2018-04-25 01:50:56 +00:00
Josh Stone
fedee13834 Disable two-phase-reservation-sharing-interference[nll_beyond]
A comment already stated that this test should be disabled, but its
`should_fail` is not enough to excuse it from a compiler panic.  Remove
it from the `revisions` list to disable it harder.
2018-04-24 16:18:34 -07:00
Josh Stone
a42db7dbfd Add a stopgap for #49889 2018-04-24 16:16:49 -07:00
Josh Stone
cc48ae5a64 compiletest: detect non-ICE compiler panics 2018-04-24 16:16:49 -07:00
Manish Goregaokar
b9c44ebd3f Use enum for approximate suggestions 2018-04-24 15:42:27 -07:00
James Sanderson
d6feab6f57 Test format hygiene 2018-04-24 22:15:00 +01:00
bors
190a6c41cf Auto merge of #50096 - alexcrichton:less-simd-warnings, r=michaelwoerister
Tweak some warnings around #[target_feature]

This commit fixes up some issues discovered when getting the `stdsimd` crate's CI compiling again.
2018-04-24 20:59:15 +00:00
James Sanderson
27b0f1e193 Gensym arguments for format macro 2018-04-24 21:31:22 +01:00
James Sanderson
d80797b85e Test deriving hygiene 2018-04-24 21:30:38 +01:00
bors
f5203d1073 Auto merge of #49933 - oli-obk:miri_rustup, r=eddyb
Fix the miri tool

r? @eddyb

cc @bjorn3

fixes #49777
2018-04-24 18:04:51 +00:00
steveklabnik
36475d947b more nits 2018-04-24 12:21:08 -04:00
bors
38e251ba37 Auto merge of #50079 - NickAtAccuPS:android_abstract_socket, r=sfackler
Android abstract unix domain sockets AddressKind correction

The prior check causes abstract unix domain sockets to return AddressKind::Unnamed instead of AddressKind::Abstract on Android.

Other than the immediately proceeding comment "macOS seems to return a len of 16 and a zeroed sun_path for unnamed addresses" the check as-implemented does not seem to have alternative explanation. I couldn't find an alternative explanation while stepping though git blame. I suspect the AddressKind::Unnamed nonzero check should instead be if macos, length 16, and zeroed array. @sfackler could you comment on this, the code as-is is the same from your initial addition of abstract uds support.
2018-04-24 14:15:56 +00:00
Oliver Schneider
cd6c186e4e
Warn on all erroneous constants 2018-04-24 13:11:48 +02:00
bors
2a6200a5c8 Auto merge of #49911 - rcoh:master, r=nikomatsakis
Don't allow #[should_panic] with non-() tests

Adds (removes) support for `#[should_panic]` when the test is non-`()`
2018-04-24 10:44:22 +00:00