Jack Huey
84f82d348c
Revert explicit lifetimes
2021-03-31 10:15:56 -04:00
Jack Huey
30187c81f6
Track bound vars
2021-03-31 10:15:27 -04:00
Jack Huey
62a49c3bb8
Add tcx lifetime to Binder
2021-03-31 10:13:57 -04:00
Jack Huey
74851f4cf3
count bound vars
2021-03-31 10:11:47 -04:00
Jack Huey
97a22a4f9c
Add u32 for bound variables to Binder
2021-03-31 10:05:32 -04:00
Jack Huey
4955d755d3
Some rebinds and dummys
2021-03-31 10:05:32 -04:00
Oli Scherer
d139968d19
bail out early when substituting mir constants that don't need substituting
2021-03-31 10:40:45 +00:00
Oli Scherer
4e8edfb5c2
Forward some layouts to prevent recomputation
2021-03-31 10:40:45 +00:00
Oli Scherer
dbacfbc368
Add a new normalization query just for mir constants
2021-03-31 10:40:42 +00:00
Oli Scherer
c7c39ce6d0
We should never see unevaluated type-level constants after monomorphization unless errors occurred
2021-03-31 09:13:45 +00:00
Oli Scherer
1d56b8a2bc
Make unevaluated DefId rendering deterministic
2021-03-31 09:13:45 +00:00
Aman Arora
e78fac5601
Handle the case of partially captured drop type
2021-03-31 04:40:31 -04:00
bors
a5029ac0ab
Auto merge of #83684 - cjgillot:csp, r=petrochenkov
...
Remove hir::CrateItem.
The crate span is exactly the crate module's inner span. There is no need to store it twice.
2021-03-31 08:34:40 +00:00
Hameer Abbasi
c3ec0add8b
Add allocation information to undefined behaviour errors.
2021-03-31 07:21:08 +00:00
bjorn3
5773e51678
Inline a few methods
2021-03-31 09:19:29 +02:00
bors
2a32abbcde
Auto merge of #83681 - jyn514:blanket-impls-tweaks, r=Aaron1011
...
rustdoc: Only look at blanket impls in `get_blanket_impls`
The idea here is that all the work in 16156fb278/compiler/rustc_middle/src/ty/trait_def.rs (L172-L186)
doesn't matter for `get_blanket_impls` - Rustdoc will already pick up on those blocks when it documents the item.
2021-03-31 05:47:22 +00:00
bors
6ff482bde5
Auto merge of #83666 - Amanieu:instrprof-order, r=tmandry
...
Run LLVM coverage instrumentation passes before optimization passes
This matches the behavior of Clang and allows us to remove several
hacks which were needed to ensure functions weren't optimized away
before reaching the instrumentation pass.
Fixes #83429
cc `@richkadel`
r? `@tmandry`
2021-03-31 03:20:33 +00:00
hi-rustin
8f77356249
give full path of constraint in suggest_constraining_type_param
...
revert file
bless with nll mode
2021-03-31 09:47:31 +08:00
Dylan DPC
7d888d100f
Rollup merge of #83654 - JohnTitor:issue-83606, r=estebank
...
Do not emit a suggestion that causes the E0632 error
Fixes #83606
2021-03-31 01:14:46 +02:00
Camille GILLOT
9d8f833e05
Remove hir::CrateItem.
2021-03-30 20:31:06 +02:00
bors
926ec1cb8b
Auto merge of #83639 - osa1:issue83638, r=estebank
...
Replace tabs in err messages before rendering
This is done in other call sites, but was missing in one place.
Fixes #83638
2021-03-30 17:07:19 +00:00
bjorn3
8331dbe6d0
Add an Mmap wrapper to rustc_data_structures
...
This wrapper implements StableAddress and falls back to directly reading
the file on wasm32
2021-03-30 18:57:03 +02:00
Joshua Nelson
6f06b761b9
Only look at blanket impls in get_blanket_impls
2021-03-30 12:28:33 -04:00
Camille GILLOT
8ee9322c10
Also profile finishing the encoding.
2021-03-30 18:10:08 +02:00
Camille GILLOT
df24315ddf
Adjust profiling.
2021-03-30 18:10:08 +02:00
Camille GILLOT
fe89f3236c
Address review.
2021-03-30 18:10:08 +02:00
Camille GILLOT
65a8681a17
Add documentation.
2021-03-30 18:10:07 +02:00
Camille GILLOT
c5c935af92
Simplify tracking the encoder state.
2021-03-30 18:10:07 +02:00
Camille GILLOT
e1c99e5fcc
Remove the parallel version.
2021-03-30 18:10:06 +02:00
Camille GILLOT
8208872fa2
Fix parallel compiler.
2021-03-30 18:10:06 +02:00
Camille GILLOT
cfe786e5e0
Fix tests.
...
Avoid invoking queries inside `check_paths`, since we are holding a lock
to the reconstructed graph.
2021-03-30 18:10:06 +02:00
Camille GILLOT
39b306a53d
Do not allocate in decoder.
2021-03-30 18:10:05 +02:00
Camille GILLOT
6bfaf3a9cb
Stream the dep-graph to a file.
2021-03-30 18:09:59 +02:00
Dylan DPC
5b467787b6
Rollup merge of #83667 - estebank:cool-bears-hot-tip, r=lcnr
...
Suggest box/pin/arc ing receiver on method calls
_Extracted from https://fasterthanli.me/articles/pin-and-suffering_
2021-03-30 11:34:30 +02:00
bors
a0e229abad
Auto merge of #83649 - bjorn3:dedup_providers, r=petrochenkov
...
Don't duplicate the extern providers once for each crate
This should give a small perf improvement for small crates by avoiding a memcpy of a pretty big struct for each loaded crate. In addition would be useful for replacing the sequential `CrateNum` everywhere with the hash based `StableCrateId` introduced in #81635 , which would allow avoiding remapping of `CrateNum`'s when loading crate metadata. While this PR is not strictly needed for that, it is necessary to prevent a performance loss due to it.
I think this duplication was done in https://github.com/rust-lang/rust/pull/40008 (which introduced the query system) to make it possible to compile multiple crates in a single session in the future. I think this is unlikely to be implemented any time soon. In addition this PR can easily be reverted if necessary to implement this.
2021-03-30 06:22:29 +00:00
Amanieu d'Antras
cad9b6b695
Apply review feedback
2021-03-30 07:03:41 +01:00
Esteban Küber
0195f8d375
Hide unnecessary reference to trait
...
When the problem for a method not being found in its receiver is due to
arbitrary self-types, we don't want to mention importing or implementing
the trait, instead we suggest wrapping.
2021-03-29 20:39:42 -07:00
Esteban Küber
6f2d8a018e
Suggest box/pin/arc ing receiver on method calls
2021-03-29 18:14:44 -07:00
Amanieu d'Antras
26d260bfa4
Run LLVM coverage instrumentation passes before optimization passes
...
This matches the behavior of Clang and allows us to remove several
hacks which were needed to ensure functions weren't optimized away
before reaching the instrumentation pass.
2021-03-30 02:10:28 +01:00
Aman Arora
f2e52fffc2
2229: Produce a rustfix migration suggestion
2021-03-29 19:52:59 -04:00
Dylan DPC
fca8e7dd88
Rollup merge of #83643 - JohnTitor:is-freeze-no-longer-uses-span, r=RalfJung
...
Remove a FIXME resolved by #73578
r? ``@RalfJung``
2021-03-30 00:32:24 +02:00
bors
48691ea6e6
Auto merge of #83185 - jyn514:remove-dead-code, r=oli-obk
...
Remove (lots of) dead code
Builds on
- [ ] https://github.com/rust-lang/rust/pull/83161
- [x] https://github.com/rust-lang/rust/pull/83230
- [x] https://github.com/rust-lang/rust/pull/83197 .
Found with https://github.com/est31/warnalyzer .
See https://github.com/rust-lang/rust/pull/77739 for a similar change in the past.
Dubious changes:
- Maybe some of the dead code in rustc_data_structures should be kept, in case someone wants to use it in the future?
TODO:
- [ ] check if any of the comments on the deleted code should be kept.
- [x] update the compiler documentation; right now it fails to build
- [x] finish moving `cfg(test)` changes into https://github.com/rust-lang/rust/pull/83197
cc `@est31`
2021-03-29 19:44:27 +00:00
JohnTitor
7e6fd40614
Do not emit a suggestion that causes the E0632 error
2021-03-30 03:00:25 +09:00
Joshua Nelson
526bb10701
Revert changes to sync data structures
...
There isn't currently a good reviewer for these, and I don't want to
remove things that will just be added again. I plan to make a separate
PR for these changes so the rest of the cleanup can land.
2021-03-29 13:50:40 -04:00
bjorn3
cd7a011f37
Don't duplicate the extern providers once for each crate
2021-03-29 18:03:07 +02:00
JohnTitor
48f9f0864b
Remove a FIXME resolved by #73578
2021-03-29 21:41:50 +09:00
Oli Scherer
5582b19559
Only emit a discrimiant tag for enums
2021-03-29 12:30:55 +00:00
Oli Scherer
c0e1191807
Don't build a ty::Const just to take it apart again
2021-03-29 12:30:55 +00:00
Oli Scherer
5b6ddd5026
Convert a closure into a method
2021-03-29 12:30:55 +00:00
Ömer Sinan Ağacan
8d7432af7b
Replace tabs in err messages before rendering
...
This is done in other call sites, but was missing in one place.
Fixes #83638
2021-03-29 13:38:36 +03:00