Nicholas Nethercote
ca5525d564
Improve AdtDef
interning.
...
This commit makes `AdtDef` use `Interned`. Much the commit is tedious
changes to introduce getter functions. The interesting changes are in
`compiler/rustc_middle/src/ty/adt.rs`.
2022-03-11 13:31:24 +11:00
Mark Rousskov
22c3a71de1
Switch bootstrap cfgs
2022-02-25 08:00:52 -05:00
Vadim Petrochenkov
17b1afdbb2
resolve: Fix incorrect results of opt_def_kind
query for some built-in macros
...
Previously it always returned `MacroKind::Bang` while some of those macros are actually attributes and derives
2022-02-24 22:54:36 +03:00
bors
523a1b1d38
Auto merge of #94062 - Mark-Simulacrum:drop-print-cfg, r=oli-obk
...
Move ty::print methods to Drop-based scope guards
Primary goal is reducing codegen of the TLS access for each closure, which shaves ~3 seconds of bootstrap time over rustc as a whole.
2022-02-20 18:12:59 +00:00
est31
2ef8af6619
Adopt let else in more places
2022-02-19 17:27:43 +01:00
Mark Rousskov
9763486034
Move ty::print methods to Drop-based scope guards
2022-02-16 17:24:23 -05:00
Ellen
e81e09a24e
change to a struct variant
2022-02-12 11:23:53 +00:00
Frank Steffahn
7eff2feb62
Remove further usage of &hir::Map
2022-02-10 13:04:59 +01:00
est31
670f5c6ef3
More let_else adoptions
2022-02-02 17:11:01 +01:00
lcnr
a1a30f7548
add a rustc::query_stability lint
2022-02-01 10:15:59 +01:00
Matthias Krüger
6749f32c33
Rollup merge of #90277 - pierwill:fix-70258-inference-terms, r=jackh726
...
Improve terminology around "after typeck"
Closes #70258 .
2022-01-31 06:58:26 +01:00
Cameron Steffen
b11733534d
Remove a span from hir::ExprKind::MethodCall
2022-01-21 07:48:10 -06:00
Guillaume Gomez
2938be612d
Correctly handle starts in block doc comments
2022-01-19 11:18:17 +01:00
Cameron Steffen
45db716902
Replace NestedVisitorMap with NestedFilter
2022-01-16 16:02:36 -06:00
Matthew Jasper
d7595853a2
Add trait_item_def_id
to AssocItem
...
This allows avoiding some lookups by name
2022-01-07 12:28:12 -08:00
lcnr
a02bf76c96
review
2022-01-03 11:59:01 +01:00
lcnr
e3f5cc6c38
implement generic_arg_infer
for array lengths
2021-12-23 10:09:35 +01:00
bors
a41a6925ba
Auto merge of #91957 - nnethercote:rm-SymbolStr, r=oli-obk
...
Remove `SymbolStr`
This was originally proposed in https://github.com/rust-lang/rust/pull/74554#discussion_r466203544 . As well as removing the icky `SymbolStr` type, it allows the removal of a lot of `&` and `*` occurrences.
Best reviewed one commit at a time.
r? `@oli-obk`
2021-12-19 09:31:37 +00:00
Matthias Krüger
9ca0bd518a
Rollup merge of #91880 - matthiaskrgr:clippy_perf_dec, r=jyn514
...
fix clippy::single_char_pattern perf findings
2021-12-15 10:56:58 +01:00
Nicholas Nethercote
b1c934ebb8
Remove unnecessary sigils around Ident::as_str()
calls.
2021-12-15 17:32:42 +11:00
Nicholas Nethercote
056d48a2c9
Remove unnecessary sigils around Symbol::as_str()
calls.
2021-12-15 17:32:14 +11:00
Matthias Krüger
97e844a032
fix clippy::single_char_pattern perf findings
2021-12-14 12:40:28 +01:00
Esteban Kuber
f640438b40
Keep info on pre-desugaring expression for better "incorrect .await
" suggestion
...
Keep the `HirId` of `.await`ed expressions so in the case of a `fn` call
on on a sync `fn`, we can suggest maybe turning it into an `async fn`.
2021-12-13 17:09:16 +00:00
Gary Guo
02c1774cd3
Give inline const separate DefKind
2021-11-07 03:59:06 +00:00
pierwill
521b1ee974
Improve terminology around "after typeck"
2021-11-06 20:59:38 -05:00
Matthias Krüger
28ef4169cc
clippy::perf fixes
2021-11-04 21:07:56 +01:00
Mark Rousskov
3215eeb99f
Revert "Add rustc lint, warning when iterating over hashmaps"
2021-10-28 11:01:42 -04:00
lcnr
00e5abe9b6
allow potential_query_instability
everywhere
2021-10-15 10:58:18 +02:00
bors
55111d656f
Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister
...
Move ICH to rustc_query_system
Based on https://github.com/rust-lang/rust/pull/89183
The StableHashingContext does not need to be in rustc_middle.
This PR moves it to rustc_query_system. This will avoid a dependency between rustc_ast_lowering and rustc_middle in https://github.com/rust-lang/rust/pull/89124 .
2021-10-05 09:45:11 +00:00
Camille GILLOT
8961616e60
Move rustc_middle::middle::cstore to rustc_session.
2021-10-03 16:08:51 +02:00
Bruce Mitchener
058a21d5cf
Consistently use 'supertrait'.
...
A subset of places referred to 'super-trait', so this changes them
to all use 'supertrait'. This matches 'supertype' and some other
usages. An exception is 'auto-trait' which is consistently used
in that manner.
2021-10-02 08:05:44 +07:00
Camille GILLOT
db9fea508a
Avoid more invocations of hir_crate query.
2021-09-29 23:16:47 +02:00
Mark Rousskov
b4e7649d6d
Bump stage0 compiler to 1.56
2021-09-08 20:51:05 -04:00
jackh726
f1f1d56d93
Don't move ?Trait bounds to param bounds if they're in where clauses
2021-09-07 18:08:46 -04:00
Camille GILLOT
d119a13137
Rename walk_crate.
2021-09-02 19:23:11 +02:00
Camille GILLOT
7ec973d9ce
Stop using walk_crate.
2021-09-02 19:08:58 +02:00
inquisitivecrystal
8c62fa0575
Treat macros as HIR items
2021-08-28 00:16:34 -07:00
Léo Lanteri Thauvin
fde1b76b4b
Use if-let guards in the codebase
2021-08-25 20:24:35 +02:00
Aaron Hill
a895069c50
Include (potentially remapped) working dir in crate hash
...
Fixes #85019
A `SourceFile` created during compilation may have a relative
path (e.g. if rustc itself is invoked with a relative path).
When we write out crate metadata, we convert all relative paths
to absolute paths using the current working direction.
However, the working directory is not included in the crate hash.
This means that the crate metadata can change while the crate
hash remains the same. Among other problems, this can cause a
fingerprint mismatch ICE, since incremental compilation uses
the crate metadata hash to determine if a foreign query is green.
This commit moves the field holding the working directory from
`Session` to `Options`, including it as part of the crate hash.
2021-08-15 15:17:37 -05:00
Vadim Petrochenkov
b08576b2ad
rustc: Replace HirId
s with LocalDefId
s in AccessLevels
tables
...
and passes using them - primarily privacy checking, stability checking and dead code checking.
WIP
2021-07-31 19:31:29 +03:00
Esteban Küber
15a40c7ee8
Do not discard ?Sized
type params and suggest their removal
2021-07-30 08:44:31 -07:00
Camille GILLOT
fee421685d
Introduce OwnerNode::Crate.
2021-07-25 12:22:47 +02:00
Vadim Petrochenkov
28f4dba438
rustc_span: Revert addition of proc_macro
field to ExpnKind::Macro
...
The flag has a vague meaning and is used for a single diagnostic change that is low benefit and appears only under `-Z macro_backtrace`.
2021-07-10 23:03:35 +03:00
bjorn3
489ad8b8b5
Revert "Revert "Merge CrateDisambiguator into StableCrateId""
...
This reverts commit 8176ab8bc1
.
2021-07-06 11:28:04 +02:00
bjorn3
c7d2099de0
Rename all_crate_nums query to crates and remove useless wrapper
2021-07-01 16:51:11 +02:00
bjorn3
8176ab8bc1
Revert "Merge CrateDisambiguator into StableCrateId"
...
This reverts commit d0ec85d3fb
.
2021-06-07 10:37:45 +02:00
Joshua Nelson
15fec1fb80
Remove doc(include)
2021-06-04 08:05:54 -04:00
bjorn3
d0ec85d3fb
Merge CrateDisambiguator into StableCrateId
2021-05-30 12:51:34 +02:00
Pietro Albini
9e22b844dd
remove cfg(bootstrap)
2021-05-24 11:07:48 -04:00
bors
3396a383bb
Auto merge of #85178 - cjgillot:local-crate, r=oli-obk
...
Remove CrateNum parameter for queries that only work on local crate
The pervasive `CrateNum` parameter is a remnant of the multi-crate rustc idea.
Using `()` as query key in those cases avoids having to worry about the validity of the query key.
2021-05-17 01:42:03 +00:00