Commit graph

89884 commits

Author SHA1 Message Date
bors
abcfc3b762 Auto merge of #58065 - alexreg:refactor-smart_resolve_path_fragment, r=petrochenkov
Factor out error reporting from `smart_resolve_path_fragment` fn

This function was ridiculously monolithic before. We now have three rather-less-monolithic-and-horrifying functions.

r? @centril
2019-02-09 23:02:15 +00:00
Ralf Jung
a01efbcbec operand-to-place copies should never be overlapping 2019-02-09 21:24:29 +01:00
bors
3315728c06 Auto merge of #57944 - estebank:unclosed-delim-the-quickening, r=oli-obk
Deduplicate mismatched delimiter errors

Delay unmatched delimiter errors until after the parser has run to deduplicate them when parsing and attempt recovering intelligently.

Second attempt at #54029, follow up to #53949. Fix #31528.
2019-02-09 20:15:57 +00:00
Matthias Einwag
1ef34a5a39 Remove rustdoc test which referenced unstable API 2019-02-09 12:09:12 -08:00
Matthew Jasper
0a16b8754a Use ? in librustc macros 2019-02-09 16:29:31 +00:00
ljedrz
eb669b3a83 cleanup: remove hir_path_str 2019-02-09 16:37:17 +01:00
ljedrz
3a1a704903 cleanup: rename node_id_to_type(_opt) 2019-02-09 16:37:15 +01:00
bors
4c9233cdeb Auto merge of #57885 - arielb1:xform-probe, r=nikomatsakis
Avoid committing to autoderef in object method probing

This fixes the "leak" introduced in #57835 (see test for details, also apparently #54252 had no tests for the "leaks" that were fixed in it, so go ahead and add one).

Maybe beta-nominating because regression, but I'm against landing things on beta we don't have to.

r? @nikomatsakis
2019-02-09 15:11:43 +00:00
Harald Hoyer
f06af1ff17
impl iter_sources() and iter_chain() for dyn Error
Examples:

```rust
let next_error_type_a = err
    .iter_chain()
    .filter_map(Error::downcast_ref::<ErrorTypeA>)
    .next();
```

```rust
let source_root_error = err.iter_chain().last();
```

Credit for the ErrorIter goes to Tim Diekmann
https://www.reddit.com/r/rust/comments/aj3lpg/is_an_iterator_impl_over_errorsource_possible/
2019-02-09 16:04:25 +01:00
Ralf Jung
66adf52e7d miri: give non-generic functions a stable address 2019-02-09 15:44:54 +01:00
Taiki Endo
be71fccf11 librustc_codegen_ssa => 2018 2019-02-09 23:31:47 +09:00
Guillaume Gomez
d26475505b put back macro redirect 2019-02-09 14:29:03 +01:00
bors
d329d46a3f Auto merge of #58207 - nnethercote:intern_lazy_const, r=oli-obk
Make `intern_lazy_const` actually intern its argument.

Currently it just unconditionally allocates it in the arena.

For a "Clean Check" build of the the `packed-simd` benchmark, this
change reduces both the `max-rss` and `faults` counts by 59%; it
slightly (~3%) increases the instruction counts but the `wall-time` is
unchanged.

For the same builds of a few other benchmarks, `max-rss` and `faults`
drop by 1--5%, but instruction counts and `wall-time` changes are in the
noise.

Fixes #57432, fixes #57829.
2019-02-09 12:38:51 +00:00
Ralf Jung
544b3a1bb4 fix rebase fallout 2019-02-09 12:19:04 +01:00
Ralf Jung
a413242efe fix printing closures 2019-02-09 12:11:13 +01:00
Ralf Jung
84d75dbd7e fix node classification 2019-02-09 12:11:12 +01:00
Ralf Jung
27ce224a8f fix --emit=mir: StructCtors are functions 2019-02-09 12:11:12 +01:00
Ralf Jung
fed4c5d9e1 disambiguate filenames of multiple drop shims being dumped 2019-02-09 12:11:12 +01:00
Ralf Jung
2708946787 pass full InstanceDef to run_passes 2019-02-09 12:11:12 +01:00
Ralf Jung
cd2169682e fix rebase fallout: AnonConsts are Consts, and Methods are functions 2019-02-09 12:11:12 +01:00
Ralf Jung
276219e0e2 fix dumping MIR from another crate 2019-02-09 12:11:12 +01:00
Ralf Jung
f5bbcf3818 use pass infrastructure for mir shims, so that they can get dumped 2019-02-09 12:08:39 +01:00
bors
618f5a08a1 Auto merge of #57617 - mark-i-m:multiple-matcher-bindings, r=petrochenkov
Error on duplicate matcher bindings

fix  #57593

This should not be merged without a crater run and maybe an FCP. Discussion is ongoing at  #57593.

TODO:
- [x] write tests
- [x] crater run
- [x] ~maybe need edition gating?~ not for 1 regression /centril

r? @petrochenkov
2019-02-09 09:48:41 +00:00
Taiki Endo
06b63046b2 Cleanup imports 2019-02-09 17:13:39 +09:00
Taiki Endo
360e65db7a Move some tests into the tests directory
This moves tests in opaque.rs and tests other than tests that require
private items in json.rs into tests/opaque.rs and tests/json.rs.
2019-02-09 17:12:04 +09:00
Robert Hayek
caf7126ee8
Some writing improvement, conciseness of intro 2019-02-09 00:46:27 -05:00
bors
312f3827fa Auto merge of #57184 - varkor:deny-warnings-lib, r=Mark-Simulacrum
Deny warnings in libcore and libstd

This probably fixes https://github.com/rust-lang/rust/issues/57178 (though there may still be some crates that need warnings denied). At least after this change, rustc currently produces no warnings during compilation.

r? @oli-obk
2019-02-09 03:54:31 +00:00
bors
cb6fafbdf3 Auto merge of #58316 - Centril:rollup, r=Centril
Rollup of 18 pull requests

Successful merges:

 - #58091 (Transition compiletest to Rust 2018)
 - #58115 (Transition rustdoc to 2018 edition)
 - #58120 (Transition build_helper to 2018 edition)
 - #58222 (librustc_allocator => 2018)
 - #58233 (librustc_save_analysis => 2018)
 - #58245 (librustc_lint => 2018)
 - #58247 (librustc_passes => 2018)
 - #58251 (Transition librustc_traits to 2018 edition)
 - #58255 (librustc_metadata => 2018)
 - #58256 (librustc_cratesio_shim => 2018)
 - #58257 (librustc_target => 2018)
 - #58259 (librustc_codegen_utils => 2018)
 - #58260 (librustc_borrowck => 2018)
 - #58261 (librustc_incremental => 2018)
 - #58265 (librustc_mir => 2018)
 - #58275 (libcore, liballoc: disable tests in Miri)
 - #58285 (error_index_generator => 2018)
 - #58312 (librustc_data_structures => 2018)

Failed merges:

r? @ghost
2019-02-09 01:04:13 +00:00
Mazdak Farrokhzad
068a926622
Rollup merge of #58312 - taiki-e:librustc_data_structures-2018, r=Centril
librustc_data_structures => 2018

Transitions `librustc_data_structures` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:06 +01:00
Mazdak Farrokhzad
5e208f6982
Rollup merge of #58285 - taiki-e:error_index_generator-2018, r=Centril
error_index_generator => 2018

Transitions `error_index_generator` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:05 +01:00
Mazdak Farrokhzad
9708644530
Rollup merge of #58275 - RalfJung:miri-test-libcore, r=Mark-Simulacrum
libcore, liballoc: disable tests in Miri

I am going to run the libcore and liballoc unit test suites in Miri.  Not all tests pass.  This PR disables a whole bunch of tests when running in Miri, to get us to a baseline from which I can investigate failures.

Cc @SimonSapin @alexcrichton
2019-02-09 00:16:04 +01:00
Mazdak Farrokhzad
c3b4102e2f
Rollup merge of #58265 - taiki-e:librustc_mir-2018, r=matthewjasper
librustc_mir => 2018

Transitions `librustc_mir` to Rust 2018; cc #58099

TODO: ~~elided_lifetimes_in_paths~~

r? @Centril
2019-02-09 00:16:03 +01:00
Mazdak Farrokhzad
4476e4fd36
Rollup merge of #58261 - taiki-e:librustc_incremental-2018, r=Centril
librustc_incremental => 2018

Transitions `librustc_incremental` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:02 +01:00
Mazdak Farrokhzad
c3d365f460
Rollup merge of #58260 - taiki-e:librustc_borrowck-2018, r=Centril
librustc_borrowck => 2018

Transitions `librustc_borrowck` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:16:01 +01:00
Mazdak Farrokhzad
d7a4dd1074
Rollup merge of #58259 - taiki-e:librustc_codegen_utils-2018, r=Centril
librustc_codegen_utils => 2018

Transitions `librustc_codegen_utils` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:59 +01:00
Mazdak Farrokhzad
869135ceda
Rollup merge of #58257 - taiki-e:librustc_target-2018, r=Centril
librustc_target => 2018

Transitions `librustc_target` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:58 +01:00
Mazdak Farrokhzad
21509b81fa
Rollup merge of #58256 - taiki-e:librustc_cratesio_shim-2018, r=Centril
librustc_cratesio_shim => 2018

Transitions `librustc_cratesio_shim` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:57 +01:00
Mazdak Farrokhzad
8cbee1c68e
Rollup merge of #58255 - taiki-e:librustc_metadata-2018, r=Centril
librustc_metadata => 2018

Transitions `librustc_metadata` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:55 +01:00
Mazdak Farrokhzad
379a048bbb
Rollup merge of #58251 - h-michael:librustc_traits-2018, r=Centril
Transition librustc_traits to 2018 edition

Transitions librustc_traits to Rust 2018; cc #58099
r? @Centril
2019-02-09 00:15:54 +01:00
Mazdak Farrokhzad
50df4d188f
Rollup merge of #58247 - taiki-e:librustc_passes-2018, r=Centril
librustc_passes => 2018

Transitions `librustc_passes` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:53 +01:00
Mazdak Farrokhzad
543f457169
Rollup merge of #58245 - taiki-e:librustc_lint-2018, r=Centril
librustc_lint => 2018

Transitions `librustc_lint` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:52 +01:00
Mazdak Farrokhzad
2b8ed1e1bd
Rollup merge of #58233 - taiki-e:librustc_save_analysis-2018, r=Centril
librustc_save_analysis => 2018

Transitions `librustc_save_analysis` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:50 +01:00
Mazdak Farrokhzad
5b4cf9b90d
Rollup merge of #58222 - taiki-e:librustc_allocator-2018, r=Centril
librustc_allocator => 2018

Transitions `librustc_allocator` to Rust 2018; cc #58099

r? @Centril
2019-02-09 00:15:49 +01:00
Mazdak Farrokhzad
6f5941e113
Rollup merge of #58120 - h-michael:build_helper-theme-2018, r=Centril
Transition build_helper to 2018 edition

Transitions build_helper to Rust 2018; cc #58099
r? @Centril
2019-02-09 00:15:48 +01:00
Mazdak Farrokhzad
f674779012
Rollup merge of #58115 - h-michael:rustdoc-2018, r=Centril
Transition rustdoc to 2018 edition

Transitions rustdoc to Rust 2018; cc #58099
2019-02-09 00:15:46 +01:00
Mazdak Farrokhzad
dbd73f640f
Rollup merge of #58091 - phansch:compiletest2018, r=Centril
Transition compiletest to Rust 2018

This transitions `src/tools/compiletest` to Rust 2018.

cc #58099
2019-02-09 00:15:44 +01:00
Patrick McCarter
7854067044 Saturating add/sub intrinsic emulation refactor/comments #58030 2019-02-08 13:04:11 -05:00
bors
a2ec156a5b Auto merge of #58161 - davidtwco:issue-57960, r=arielb1
Lower constant patterns with ascribed types.

Fixes #57960.

This PR fixes a bug introduced by #55937 which started checking user
type annotations for associated type patterns. Where lowering a
associated constant expression would previously return a
`PatternKind::Constant`, it now returns a `PatternKind::AscribeUserType`
with a `PatternKind::Constant` inside, this PR unwraps that to
access the constant pattern inside and behaves as before.

r? @pnkfelix
2019-02-08 17:13:56 +00:00
Taiki Endo
3e2b5a4b08 librustc_data_structures => 2018 2019-02-09 01:36:22 +09:00
varkor
5f41f8be30 Deny warnings in std stage 0 2019-02-08 16:45:58 +01:00