88636 Commits

Author SHA1 Message Date
bors
527b8d4243 Auto merge of #57065 - Zoxc:graph-tweaks, r=michaelwoerister
Optimize try_mark_green and eliminate the lock on dep node colors

Blocked on https://github.com/rust-lang/rust/pull/56614

r? @michaelwoerister
2019-01-18 11:34:11 +00:00
bors
38650b69ca Auto merge of #56996 - clarcharr:spin_loop_hint, r=KodrAus
Move spin_loop_hint to core::hint module

As mentioned in #55002. The new name is kept unstable to decide whether the function should have `_hint` in its name.
2019-01-18 07:36:13 +00:00
Esteban Küber
ec3c5b0199 Use structured suggestion to surround struct literal with parenthesis 2019-01-17 21:19:30 -08:00
Mark Mansi
db2d243e9e fix compat-mode ui test 2019-01-17 22:04:27 -06:00
Mark Mansi
274d293cab Update tests 2019-01-17 20:39:06 -06:00
Mark Mansi
2f8a77445f better lifetime error message 2019-01-17 20:39:06 -06:00
Dan Robertson
e3ba6ed3f5
Fix suggestions given mulitple bad lifetimes
When given multiple lifetimes prior to type parameters in generic
parameters, do not ICE and print the correct suggestion.
2019-01-18 01:10:14 +00:00
Nicholas Nethercote
92fd6f9d30 Inline expand_node.
This requires restructuring things a little so that there is only one
callsite, ensuring that inlinining doesn't cause unnecessary code bloat.

This reduces instruction counts for the `unicode_normalization`
benchmark by up to 4%.
2019-01-18 11:40:43 +11:00
Nicholas Nethercote
55768330a9 Remove unneeded origin arg from iterate_until_fixed_point's closure. 2019-01-18 11:37:22 +11:00
Wesley Norris
f5413cd1e2 Bless test.
Bless test, remove submodule, and fix book entry.

bless test again? maybe it'll work this time...
2019-01-17 17:49:29 -05:00
Wesley Norris
09cad1b8a5 Add book section and fix typo. 2019-01-17 17:26:24 -05:00
Wesley Norris
80ee94c1f8 Minor changes to wording and formatting. 2019-01-17 17:26:24 -05:00
Wesley Norris
22e97da30a Bless test. 2019-01-17 17:26:24 -05:00
Wesley Norris
a3f7f97205 Fix tidy error. 2019-01-17 17:26:00 -05:00
Wesley Norris
1318e53ea8 Persist doc test executables to given path. 2019-01-17 17:26:00 -05:00
Vadim Petrochenkov
d34b3e9bf2 privacy: Account for associated existential types 2019-01-18 01:06:08 +03:00
Guillaume Gomez
25189874fb Fix non-clickable urls 2019-01-17 21:28:23 +01:00
Andy Russell
02843d9eb7
properly deprecate suggestion methods 2019-01-17 10:18:56 -05:00
Michael Woerister
3884cc8df4 Fix typo bug in DepGraph::try_mark_green(). 2019-01-17 15:32:05 +01:00
bors
daa53a52a2 Auto merge of #57694 - pietroalbini:revert-beta-on-master, r=pietroalbini
Revert "Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum"

For whatever reason bors merged this in master `:/`

r? @ghost
2019-01-17 10:15:57 +00:00
Pietro Albini
d158ef64e8
Revert "Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum"
This reverts commit 722b4d695964906807b12379577bce5ee3d23e08, reversing
changes made to 956dba47d33fc8b2bdabcd50e5bfed264b570382.
2019-01-17 10:48:10 +01:00
Igor Matuszewski
6f1d06d219 Querify glob map usage (last use of CrateAnalysis) 2019-01-17 10:40:22 +01:00
Igor Matuszewski
6c8fdf971c Remove access level mention from DocContext
Leftover from c754e8240c.
2019-01-17 10:37:31 +01:00
bors
6599946272 Auto merge of #57520 - alexreg:tidy-copyright-lint, r=Mark-Simulacrum
Add lint for copyright headers to 'tidy' tool

r? @Mark-Simulacrum

CC @centril
2019-01-17 07:36:37 +00:00
Alexander Ronald Altman
fefe1dacb6 Fix tidy errors. 2019-01-16 23:03:29 -06:00
bors
722b4d6959 Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum
Prepare beta 1.33.0

This PR includes the usual changes for a new beta, and suppresses a few lints on libcore: those lints are false positives caused by an internal attribute (`rustc_layout_scalar_valid_range_start`) and only happen on stage0.

r? @Mark-Simulacrum
2019-01-17 05:00:14 +00:00
AB1908
1e3f475d64 Add test for linking non-existent static library 2019-01-17 03:40:36 +00:00
bors
956dba47d3 Auto merge of #56869 - GuillaumeGomez:index-size-reduction, r=QuietMisdreavus
Reduce search-index.js size

Coming from:

```
1735683 Dec 16 01:35 build/x86_64-apple-darwin/doc/search-index.js
```

to:

```
727755 Dec 16 01:51 build/x86_64-apple-darwin/doc/search-index.js
```

r? @QuietMisdreavus
2019-01-17 02:12:17 +00:00
Alexander Ronald Altman
22251a87be Enhance Pin impl applicability for PartialEq and PartialOrd. 2019-01-16 20:10:18 -06:00
Nicholas Nethercote
afbd004d69 Remove hir::StmtKind::Decl.
It's a level of indirection that hurts far more than it helps. The code
is simpler without it. (This commit cuts more than 120 lines of code.)

In particular, this commit removes some unnecessary `Span`s within
`DeclKind` that were always identical to those in the enclosing `Stmt`,
and some unnecessary allocations via `P`.
2019-01-17 12:13:22 +11:00
Guillaume Gomez
d405606c3b End fixing search index minification 2019-01-17 01:41:01 +01:00
Guillaume Gomez
2e8fd44598 Minify search-index in one pass 2019-01-17 01:41:01 +01:00
Guillaume Gomez
f42407f114 Reduce search-index.js size 2019-01-17 01:41:01 +01:00
Konrad Borowski
e4e888534e
Document Unpin in std::prelude documentation 2019-01-17 00:39:15 +01:00
bors
c40b97796e Auto merge of #57392 - Xanewok:always-calc-glob-map, r=petrochenkov
Always calculate glob map but only for glob uses

Previously calculating glob map was *opt-in*, however it did record node id -> ident use for every use directive. This aims to see if we can unconditionally calculate the glob map and not regress performance.

Main motivation is to get rid of some of the moving pieces and simplify the compilation interface - this would allow us to entirely remove `CrateAnalysis`. Later, we could easily expose a relevant query, similar to the likes of `maybe_unused_trait_import` (so using precomputed data from the resolver, but which could be rewritten to be on-demand).

r? @nikomatsakis

Local perf run showed mostly noise (except `ctfe-stress-*`) but I'd appreciate if we could do a perf run run here and double-check that this won't regress performance.
2019-01-16 23:25:41 +00:00
AB1908
0edc5c9779 Fix error template 2019-01-16 23:08:42 +00:00
Nicholas Nethercote
b2ce5a9099 Make hir::Stmt a separate struct.
Benefits:

- It lets us move the `NodeId` field out of every `hir::StmtKind`
  variant `NodeId` to a more sensible spot.

- It eliminates sadness in `Stmt::fmt`.

- It makes `hir::Stmt` match `ast::Stmt`.
2019-01-17 09:52:34 +11:00
Vadim Petrochenkov
01d0ae9618 Prioritize variants as inherent associated items during name resolution 2019-01-16 23:51:41 +03:00
Aaron Hill
9b68dcd32a
Don't explicitly increment the depth for new trait predicates 2019-01-16 12:55:22 -05:00
Pietro Albini
b54a00accd
allow unused warnings related to rustc_layout_scalar_valid_range_start 2019-01-16 18:20:08 +01:00
Pietro Albini
dc25c80571
prepare beta 1.33.0 2019-01-16 17:22:51 +01:00
bors
ceb2512144 Auto merge of #57321 - petrochenkov:atokens, r=nikomatsakis
Implement basic input validation for built-in attributes

Correct top-level shape (`#[attr]` vs `#[attr(...)]` vs `#[attr = ...]`) is enforced for built-in attributes, built-in attributes must also fit into the "meta-item" syntax (aka the "classic attribute syntax").

For some subset of attributes (found by crater run), errors are lowered to deprecation warnings.

NOTE: This PR previously included https://github.com/rust-lang/rust/pull/57367 as well.
2019-01-16 15:01:20 +00:00
Felix S. Klock II
7bddcbae51 With this change, I am able to build and test cross-platform rustc
In particular, I can use the following in my `config.toml`:

```
[build]
host = ["i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu"]
target = ["i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu"]
```

Before this change, my attempt to run the test suite would fail
because the error output differs depending on what your host and
targets are.

----

To be concrete, here are the actual messages one can observe:

```
% ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused  --target=x86_64-unknown-linux-gnu
error: the type `std::option::Option<[u32; 35184372088831]>` is too big for the current architecture

error: aborting due to previous error

% ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused  --target=i686-unknown-linux-gnu
error: the type `std::option::Option<[u32; 536870911]>` is too big for the current architecture

error: aborting due to previous error

% ./build/i686-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused  --target=i686-unknown-linux-gnu
error: the type `std::option::Option<[u32; 536870911]>` is too big for the current architecture

error: aborting due to previous error

% ./build/i686-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused  --target=x86_64-unknown-linux-gnu
error: the type `[u32; 35184372088831]` is too big for the current architecture

error: aborting due to previous error
```

To address these variations, I changed the test to be more aggressive
in its normalization strategy. We cannot (and IMO should not)
guarantee that `Option` will appear in the error output here. So I
normalized both types `Option<[u32; N]>` and `[u32; N]` to just `TYPE`
2019-01-16 14:37:22 +01:00
bors
cccaf9a8c6 Auto merge of #57416 - alexcrichton:remove-platform-intrinsics, r=nagisa
rustc: Remove platform intrinsics crate

This was originally attempted in #57048 but it was realized that we
could fully remove the crate via the `"unadjusted"` ABI on intrinsics.
This means that all intrinsics in stdsimd are implemented directly
against LLVM rather than using the abstraction layer provided here. That
ends up meaning that this crate is no longer used at all.

This crate developed long ago to implement the SIMD intrinsics, but we
didn't end up using it in the long run. In that case let's remove it!
2019-01-16 12:15:10 +00:00
AB1908
3f0a75d806 Remove trailing whitespace 2019-01-16 06:29:44 +00:00
Jethro Beekman
0772dbbb09 Fix release manifest generation 2019-01-16 11:36:38 +05:30
AB1908
193809ec3a Add regression test to close #53787 2019-01-16 05:34:40 +00:00
Nicholas Nethercote
dc45528620 Remove hir::Label.
It's identical to `ast::Label`.
2019-01-16 16:20:32 +11:00
Nicholas Nethercote
ae4b14e837 Use Lit rather than P<Lit> in hir::ExprKind.
It's simpler and makes some benchmark run up to 1% faster. It also makes
`hir::ExprKind` more like `ast::ExprKind` (which underwent the
equivalent change in #55777).
2019-01-16 15:36:08 +11:00
Alexander Regueiro
4d1802308b Updated Book and Reference submodules. 2019-01-16 03:59:06 +00:00