Commit Graph

106213 Commits

Author SHA1 Message Date
bjorn3
e38665676b Rustfmt 2020-02-07 13:59:31 +01:00
bjorn3
91d01e7c6b Remove unused feature gates from libsyntax_pos 2020-02-07 13:59:31 +01:00
bjorn3
9d6bdccd9e Remove unused feature gate from libserialize 2020-02-07 13:59:31 +01:00
bjorn3
b7599990d4 Remove unused feature gates from librustdoc 2020-02-07 13:59:23 +01:00
bjorn3
8f672cd7dd Remove unused feature gates from librustc_typeck 2020-02-07 13:58:57 +01:00
bjorn3
1a26c1c67a Remove unused feature gate from librustc_target 2020-02-07 13:58:57 +01:00
bjorn3
1bfba4fbce Remove unused feature gate from librustc_resolve 2020-02-07 13:58:57 +01:00
bjorn3
341594e196 Remove unused feature gates from librustc_mir 2020-02-07 13:58:57 +01:00
bjorn3
6305c683cb Remove unused feature gates from librustc_metadata 2020-02-07 13:58:57 +01:00
bjorn3
74994af266 Remove unused feature gate from librustc_lint 2020-02-07 13:58:57 +01:00
bjorn3
6638b86702 Remove unused feature gates from librustc_interface 2020-02-07 13:58:57 +01:00
bjorn3
d252791a93 Remove unused feature gate from librustc_incremental 2020-02-07 13:58:50 +01:00
bjorn3
3e61d52784 Remove unused feature gates from librustc_errors 2020-02-04 19:18:11 +01:00
bjorn3
cf862df494 Remove unused feature gates from librustc_driver 2020-02-04 19:18:11 +01:00
bjorn3
2a4596abfb Remove unused feature gates from librustc_data_structures 2020-02-04 19:18:10 +01:00
bjorn3
c2da8b3f0d Remove unused feature gates from cg_ssa and cg_utils 2020-02-04 19:18:10 +01:00
bjorn3
f9971c5cba Remove unused feature gates from cg_llvm
Also turns a few `box` into `Box::new`
2020-02-04 18:22:59 +01:00
bjorn3
095963f91d Remove unused feature gates from librustc 2020-02-04 18:22:59 +01:00
bjorn3
bdacdf49e5 Remove unused core_intrinsics feature gate from bootstrap 2020-02-04 18:22:59 +01:00
bors
126ad2b813 Auto merge of #68708 - Mark-Simulacrum:stage0-step, r=pietroalbini
Step stage0 to bootstrap from 1.42

This also includes a commit which fixes the rustfmt downloading logic to redownload when the rustfmt channel changes, and bumps rustfmt to a more recent version.
2020-02-04 14:16:18 +00:00
Mark Rousskov
dbc9894095 Drop unused extern crates 2020-02-04 08:14:08 -05:00
bors
bae3d0dfc7 Auto merge of #68804 - ecstatic-morse:qualif-cursor-lazy, r=estebank
Always use lazy qualif getters during const-checking

`has_mut_interior_eager_seek` was needed to work around an overly restrictive bound on the `per_local` argument to the `Qualif` trait. This PR makes that bound `FnMut` instead of `Fn` so we can seek cursors inside of it, resolving a FIXME in the const-checking code.
2020-02-04 10:58:45 +00:00
bors
fc07615c49 Auto merge of #68601 - 0dvictor:split, r=tmandry
Split `join_codegen_and_link()` into two steps

`join_codegen_and_link()` is split to `join_codegen()` and `link()`.
2020-02-04 05:48:54 +00:00
Victor Ding
ae51d2ba32 Split join_codegen_and_link() into two steps
`join_codegen_and_link()` is split to `join_codegen()` and `link()`.
2020-02-04 11:09:50 +11:00
bors
42a0bd2091 Auto merge of #67668 - matthewjasper:or-patterns, r=pnkfelix
Implement MIR lowering for or-patterns

This is the last thing needed to get meaningful run-pass tests for or-patterns. There probably need to be more tests before stabilizing this, but the most important cases should have been covered.

Note: we can generate exponentially large MIR CFGs when using or-patterns containing bindings, type ascriptions, or that are for a match arm with a guard. `src/test/mir-opt/exponential-or.rs` shows the best case for what we currently do.

cc #54883
closes #60350
closes #67514

cc @Centril
r? @pnkfelix
2020-02-03 22:02:26 +00:00
Matthew Jasper
8dbbe4d144 Avoid scheduling repeated StorageDeads
Also add some comments
2020-02-03 19:42:15 +00:00
Matthew Jasper
9b9dafb2c8 Make use of Place: Copy 2020-02-03 19:42:15 +00:00
matthewjasper
1d90ed6370 Apply suggestions from code review
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2020-02-03 19:42:15 +00:00
Matthew Jasper
89e52e2ca9 Address review comments 2020-02-03 19:42:15 +00:00
Matthew Jasper
5f90dbd5e8 Make Candidate private 2020-02-03 19:42:15 +00:00
Matthew Jasper
c7e6f88926 Add more tests for or-patterns 2020-02-03 19:42:15 +00:00
bors
8417d68de5 Auto merge of #68803 - Dylan-DPC:rollup-b4x6ghj, r=Dylan-DPC
Rollup of 8 pull requests

Successful merges:

 - #68678 (Install robots.txt into rust-docs tarballs)
 - #68711 (Added upper bound of what vecs and boxes can allocate)
 - #68744 (Do not ICE in `type-alias-impl-trait` with save-analysis)
 - #68777 (Clean up E0263 explanation)
 - #68787 (Optimize core::ptr::align_offset (part 1))
 - #68797 (Fix links to types instead of modules)
 - #68798 (Test that `#[track_caller]` as `fn()` respects RT / CTFE equivalence)
 - #68800 (Stabilize `core::iter::once_with()`)

Failed merges:

r? @ghost
2020-02-03 18:40:54 +00:00
Dylan MacKenzie
21a040e7ac Treat Rvalue::AddressOf the same as Rvalue::Ref 2020-02-03 10:38:32 -08:00
Dylan MacKenzie
110a7e25b6 Eliminate "eager" qualif getter
All qualif getters are now lazy
2020-02-03 10:33:33 -08:00
Dylan MacKenzie
4c5ca44b92 Pass correct closure type to Qualif methods 2020-02-03 10:32:54 -08:00
Dylan MacKenzie
49ef3dac69 Take FnMut instead of Fn in Qualif methods 2020-02-03 10:27:38 -08:00
Dylan DPC
af3c315daf
Rollup merge of #68800 - JohnTitor:stabilize-once-with, r=Centril
Stabilize `core::iter::once_with()`

Fixes #57581

FCP: https://github.com/rust-lang/rust/issues/57581#issuecomment-576178031

r? @SimonSapin
2020-02-03 18:58:37 +01:00
Dylan DPC
f17f97d36a
Rollup merge of #68798 - Centril:caller-loc-ctfe-rt-equiv, r=RalfJung
Test that `#[track_caller]` as `fn()` respects RT / CTFE equivalence

r? @RalfJung cc @anp @eddyb
2020-02-03 18:58:36 +01:00
Dylan DPC
1028978e8f
Rollup merge of #68797 - GuillaumeGomez:link-to-types, r=Dylan-DPC
Fix links to types instead of modules

r? @Dylan-DPC
2020-02-03 18:58:35 +01:00
Dylan DPC
370fd8c1b7
Rollup merge of #68787 - amosonn:patch-1, r=nagisa
Optimize core::ptr::align_offset (part 1)

r? @nagisa
See #68616 for main discussion.
2020-02-03 18:58:33 +01:00
Dylan DPC
51c6c25575
Rollup merge of #68777 - GuillaumeGomez:clean-up-e0263, r=Dylan-DPC
Clean up E0263 explanation

r? @Dylan-DPC
2020-02-03 18:58:32 +01:00
Dylan DPC
95d1f6ffcd
Rollup merge of #68744 - JohnTitor:fix-ice-save-analysis, r=cramertj
Do not ICE in `type-alias-impl-trait` with save-analysis

FIxes #68621
Fixes #68750
2020-02-03 18:58:30 +01:00
Dylan DPC
5e561c2135
Rollup merge of #68711 - hman523:fix-68593, r=Dylan-DPC
Added upper bound of what vecs and boxes can allocate

Fixed issue #68593
I added a line of documentation to these two files to reflect that vectors and boxes ensure that they never allocate more than `isize::MAX` bytes.
r? @steveklabnik
2020-02-03 18:58:27 +01:00
Dylan DPC
95df2bcaeb
Rollup merge of #68678 - Mark-Simulacrum:robots, r=pietroalbini
Install robots.txt into rust-docs tarballs

Fixes #68677.

I believe this might just work out from the central-station perspective, but even if it doesn't, this is a prerequisite step anyway.
2020-02-03 18:58:23 +01:00
Yuki Okushi
7e2d7e0bbc Stabilize core::iter::once_with() 2020-02-04 00:47:04 +09:00
Mazdak Farrokhzad
f0eec88581 track_caller test caller_location ctfe/rt equivalence wrt. fnptrs 2020-02-03 16:15:30 +01:00
Guillaume Gomez
46f6dad101 Fix links to types instead of modules 2020-02-03 16:12:35 +01:00
bors
bdd946df3a Auto merge of #68665 - eddyb:debuginfo-early-create-var, r=nagisa
codegen: create DIVariables ahead of using them with llvm.dbg.declare.

Instead of having `rustc_codegen_llvm` bundle creation of a `DIVariable` and `llvm.dbg.declare` into a single operation, they are now two separate methods, and the `DIVariable` is created earlier, specifically when `mir::VarDebugInfo`s are being partitioned into locals.

While this isn't currently needed, it's a prerequisite for #48300, which adds fragmented debuginfo, where one `mir::VarDebugInfo` has multiple parts of itself mapped to different `mir::Place`s.
For debuggers to see one composite variable instead of several ones with the same name, we need to create a single `DIVariable` and share it between multiple `llvm.dbg.declare` calls, which are likely pointing to different MIR locals.
That makes the `per_local_var_debug_info` partitioning a good spot to do this in, as we can create *exactly* one `DIVariable` per `mir::VarDebugInfo`, and refer to it as many things as needed.

I'm opening this PR separately because I want to test its perf impact in isolation (see https://github.com/rust-lang/rust/pull/48300#issuecomment-580121438).

r? @nagisa or @oli-obk cc @michaelwoerister @nikomatsakis
2020-02-03 13:06:44 +00:00
Eduard-Mihai Burtescu
e35dfad5b8 rustc_codegen_llvm: avoid redundant calls to span_start. 2020-02-03 12:14:22 +02:00
Eduard-Mihai Burtescu
f4b74773c7 rustc_codegen_ssa: convert mir::VarDebugInfo into a custom PerLocalVarDebugInfo. 2020-02-03 12:14:22 +02:00