Michael Goulet
7690fe3bc6
Simplify some iterator combinators
2023-01-04 00:48:07 +00:00
Dylan DPC
68afa32985
Rollup merge of #103760 - petrochenkov:macimp, r=cjgillot
...
resolve: Turn the binding from `#[macro_export]` into a proper `Import`
Continuation of https://github.com/rust-lang/rust/pull/91795 .
```rust
#[macro_export]
macro_rules! m { /*...*/ }
```
is desugared to something like
```rust
macro_rules! m { /*...*/ } // Non-modularized macro_rules item
pub use m; // It's modularized reexport
```
This PR adjusts the internal representation to better match this model.
2022-11-01 22:01:36 +05:30
Vadim Petrochenkov
84317518ff
resolve: Turn the binding from #[macro_export]
into a proper Import
2022-10-31 21:25:00 +04:00
Aaron Hill
7d82cadd97
Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error
2022-10-24 13:40:07 -05:00
Nicholas Nethercote
f07d4efc45
Shrink hir::def::Res
.
...
`Res::SelfTy` currently has two `Option`s. When the second one is `Some`
the first one is never consulted. So we can split it into two variants,
`Res::SelfTyParam` and `Res::SelfTyAlias`, reducing the size of `Res`
from 24 bytes to 12. This then shrinks `hir::Path` and
`hir::PathSegment`, which are the HIR types that take up the most space.
2022-09-29 08:44:52 +10:00
Vadim Petrochenkov
d8d3b83e3a
rustc: Parameterize ty::Visibility
over used ID
...
It allows using `LocalDefId` instead of `DefId` when possible, and also encode cheaper `Visibility<DefIndex>` into metadata.
2022-09-07 13:35:41 +04:00
Oli Scherer
d3b22c7267
Directly use the instrument
macro instead of its full path
2022-09-01 14:53:46 +00:00
Dylan DPC
c18292f6a3
Rollup merge of #101123 - JohnTitor:rm-register-attr, r=TaKO8Ki
...
Remove `register_attr` feature
Closes #66080
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-08-30 11:26:52 +05:30
Yuki Okushi
76dd5c58a0
Remove register_attr
feature
...
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-08-28 21:23:23 +09:00
Vadim Petrochenkov
fc3f3c304b
rustc_middle: Remove Visibility::Invisible
2022-08-27 22:34:18 +03:00
Camille GILLOT
da9ccc2c98
Remove FnItemRibKind.
2022-08-23 00:08:42 +02:00
Camille GILLOT
613dc2204d
Improve local generic parameter suggestions.
2022-08-23 00:08:42 +02:00
Camille GILLOT
d7d701a9dc
Create specific ConstantHasGenerics for ConstantItemRibKind.
2022-08-23 00:08:42 +02:00
Camille GILLOT
9450f822fb
Unused tuple fields in rustc_resolve.
2022-07-25 19:45:26 +02:00
Michael Goulet
f924e74fb1
Provide a segment res in more cases
2022-06-20 21:27:42 -07:00
Takayuki Maeda
0d24405211
implement MacroData
2022-06-15 00:31:21 +09:00
Jacob Pratt
49c82f31a8
Remove crate
visibility usage in compiler
2022-05-20 20:04:54 -04:00
Gary Guo
b1c6c0648e
Permit asm_const and asm_sym to reference outer generic params
2022-05-07 03:32:27 +01:00
Oli Scherer
0349f8bd79
Use a yes/no enum instead of a bool.
...
The bool's meaning wasn't obvious to me at some call sites.
2022-05-02 15:39:13 +00:00
Vadim Petrochenkov
7841247ca9
resolve: Rename unusable_binding
to ignore_binding
2022-05-01 18:02:37 +03:00
Vadim Petrochenkov
f0e0434feb
resolve: Merge last_import_segment
into Finalize
2022-05-01 18:02:35 +03:00
Vadim Petrochenkov
ffedcec4e8
resolve: Pass full Finalize
in nearly all cases
2022-05-01 18:02:01 +03:00
Vadim Petrochenkov
900607f49a
resolve: Turn enum Finalize
into an optional struct
2022-05-01 17:42:22 +03:00
Camille GILLOT
a9e13fa553
Lint elided lifetimes in path on the AST.
2022-04-17 11:03:34 +02:00
Amanieu d'Antras
dc345d8bff
Reimplement lowering of sym operands for asm! so that it also works with global_asm!
2022-04-14 15:32:03 +01:00
Vadim Petrochenkov
276b946010
Handle unusable_binding
more compactly.
2022-04-12 22:07:15 +02:00
Camille GILLOT
b796d92da3
Fix imports.
2022-04-12 19:55:47 +02:00
Camille GILLOT
944d852afe
Simplify error reporting.
2022-04-12 19:53:46 +02:00
Camille GILLOT
d1c1bbe5f3
Move path resolution error to rustc_resolve::diagnostics.
2022-04-12 19:53:22 +02:00
Camille GILLOT
886613c916
Make the logic more explicit with let chains.
2022-04-12 19:52:58 +02:00
Camille GILLOT
3ee6f6e28a
Do not record Res when builing a suggestion.
2022-04-12 19:52:34 +02:00
Camille GILLOT
55ca03c0ac
Insert error after checking for binding usability.
2022-04-12 19:52:10 +02:00
Camille GILLOT
24b37a7374
Pass last_import_segment and unusable_binding as parameters.
2022-04-12 19:51:46 +02:00
Camille GILLOT
eb7f5673d9
Simplify binding finalization.
2022-04-12 19:51:22 +02:00
Camille GILLOT
e9a52c27d2
Move ident resolution to a dedicated module.
2022-04-12 19:49:02 +02:00