Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Michael Goulet
4beb1cf9e5
Fix a couple more DefKind discrepancies between DefKind::Closure and DefKind::SyntheticCoroutineBody
2024-09-16 22:09:42 -04:00
Jakub Beránek
47e6b5deed
Revert "Auto merge of #127537 - veluca93:struct_tf, r=BoxyUwU"
...
This reverts commit acb4e8b625
, reversing
changes made to 100fde5246
.
2024-09-01 16:35:53 +02:00
Pavel Grigorenko
5d04472461
Implement elided_named_lifetimes
lint
2024-08-31 15:35:41 +03:00
Luca Versari
7eb4cfeace
Implement RFC 3525.
2024-08-28 09:54:23 +02:00
Michael Goulet
4609841c07
Stop using a special inner body for the coroutine by-move body for async closures
2024-08-26 18:44:19 -04:00
Nicholas Nethercote
84ac80f192
Reformat use
declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Santiago Pastorino
bac72cf7cf
Add safe/unsafe to static inside extern blocks
2024-06-04 14:19:43 -03:00
Nicholas Nethercote
4814fd0a4b
Remove extern crate rustc_macros
from numerous crates.
2024-04-29 10:21:54 +10:00
Michael Goulet
8d07d90572
Opaque types have no namespace
2024-04-15 21:27:30 -04:00
bohan
889e5719c6
explaining DefKind::Field
2024-04-05 23:12:43 +08:00
Shoyu Vanilla
c270a42fea
Fix bad span for explicit lifetime suggestion
...
Move verbose logic to a function
Minor renaming
2024-03-21 10:31:04 +09:00
Oli Scherer
e2773733f3
Some comment nits
2024-03-12 08:51:20 +00:00
Oli Scherer
926bfe5078
s/mt/mutability/
2024-03-12 05:53:46 +00:00
Oli Scherer
d3514a036d
Ensure nested allocations in statics do not get deduplicated
2024-03-12 05:53:46 +00:00
Oli Scherer
0b4cbee660
Add nested
bool to DefKind::Static
.
...
Will be used in the next commit
2024-03-12 05:53:46 +00:00
Oli Scherer
9816915954
Change DefKind::Static
to a struct variant
2024-03-12 05:53:46 +00:00
Matthias Krüger
15896bdd18
Rollup merge of #120950 - compiler-errors:miri-async-closurs, r=RalfJung,oli-obk
...
Fix async closures in CTFE
First commit renames `is_coroutine_or_closure` into `is_closure_like`, because `is_coroutine_or_closure_or_coroutine_closure` seems confusing and long.
Second commit fixes some forgotten cases where we want to handle `TyKind::CoroutineClosure` the same as closures and coroutines.
The test exercises the change to `ValidityVisitor::aggregate_field_path_elem` which is the source of #120946 , but not the change to `UsedParamsNeedSubstVisitor`, though I feel like it's not that big of a deal. Let me know if you'd like for me to look into constructing a test for the latter, though I have no idea what it'd look like (we can't assert against `TooGeneric` anywhere?).
Fixes #120946
r? oli-obk cc ``@RalfJung``
2024-02-12 23:18:53 +01:00
Frank King
879a1e5713
Lower anonymous structs or unions to HIR
2024-02-12 12:47:23 +08:00
Michael Goulet
cb024ba6e3
is_closure_like
2024-02-11 22:09:52 +00:00
Alona Enraght-Moony
11337805fb
Give VariantData::Struct
named fields, to clairfy recovered
.
2023-12-20 00:07:34 +00:00
Michael Woerister
115885ba7e
Replace some instances of FxHashMap/FxHashSet with stable alternatives (mostly in rustc_hir and rustc_ast_lowering)
...
Part of https://github.com/rust-lang/compiler-team/issues/533
2023-12-18 21:03:32 +01:00
Vadim Petrochenkov
17e799c270
rustc: Harmonize DefKind
and DefPathData
...
`DefPathData::(ClosureExpr,ImplTrait)` are renamed to match `DefKind::(Closure,OpaqueTy)`.
`DefPathData::ImplTraitAssocTy` is replaced with `DefPathData::TypeNS(kw::Empty)` because both correspond to `DefKind::AssocTy`.
It's possible that introducing `(DefKind,DefPathData)::AssocOpaqueTy` could be a better solution, but that would be a much more invasive change.
Const generic parameters introduced for effects are moved from `DefPathData::TypeNS` to `DefPathData::ValueNS`, because constants are values.
`DefPathData` is no longer passed to `create_def` functions to avoid redundancy.
2023-12-03 16:24:56 +03:00
bohan
f23befe6c1
merge DefKind::Coroutine
into DefKind::Closure
2023-11-26 21:05:08 +08:00
Nicholas Nethercote
5bec5ae545
Put derives on a single line where possible.
2023-11-20 16:17:02 +11:00
Nicholas Nethercote
b142ed296c
Add a comment.
2023-11-20 16:11:06 +11:00
Oli Scherer
e96ce20b34
s/generator/coroutine/
2023-10-20 21:14:01 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
Michael Goulet
d6ce9ce115
Don't store lazyness in DefKind
2023-09-26 02:53:59 +00:00
León Orell Valerian Liehr
5468336d6b
Store the laziness of type aliases in the DefKind
2023-08-07 15:54:31 +02:00
Santiago Pastorino
20429af7a3
Replace RPITIT current impl with new strategy that lowers as a GAT
2023-07-08 18:21:34 -03:00
Matthias Krüger
bcc15bba95
use matches! macro in more places
2023-04-16 12:08:30 +02:00
Michael Howell
3d056c3125
diagnostics: if AssocFn has self argument, describe as method
...
Discussed in
https://rust-lang.zulipchat.com/#narrow/stream/147480-t-compiler.2Fwg-diagnostics/topic/.22associated.20function.22.20vs.20.22method.22/near/329265515
This commit also changes the tooltips on rustdoc intra-doc links
targeting methods.
2023-02-22 08:40:33 -07:00
Camille GILLOT
03dff82d59
Add of_trait
to DefKind::Impl.
2023-02-14 19:55:44 +00:00
Vadim Petrochenkov
b62b82aef4
Resolve documentation links in rustc and store the results in metadata
...
This commit implements MCP https://github.com/rust-lang/compiler-team/issues/584
It also removes code that is no longer used, and that includes code cloning resolver, so issue #83761 is fixed.
2023-02-10 09:34:13 +04:00
Maybe Waffle
6a28fb42a8
Remove double spaces after dots in comments
2023-01-17 08:09:33 +00:00
nils
fd7a159710
Fix uninlined_format_args
for some compiler crates
...
Convert all the crates that have had their diagnostic migration
completed (except save_analysis because that will be deleted soon and
apfloat because of the licensing problem).
2023-01-05 19:01:12 +01:00
Vadim Petrochenkov
7a5376d23c
Unreserve braced enum variants in value namespace
2022-11-21 22:40:06 +03:00
Vadim Petrochenkov
1a8f177772
rustc_hir: Less error-prone methods for accessing PartialRes
resolution
2022-10-11 09:04:52 +04: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
Michael Goulet
70775304cd
Address nits
2022-09-09 01:31:45 +00:00
Michael Goulet
78b962a4f3
RPITIT placeholder items
2022-09-09 01:31:44 +00:00
Takayuki Maeda
bdc865d8f7
remove unnecessary PartialOrd
and Ord
2022-09-08 06:15:33 +09:00
Nicholas Nethercote
49b90573ac
Add some blank lines to the definition of Res
.
...
To make the spacing consistent.
Also shorten an overly long comment line.
2022-09-05 14:20:16 +10:00
Yuki Okushi
76dd5c58a0
Remove register_attr
feature
...
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-08-28 21:23:23 +09:00
Camille GILLOT
10be0dd8df
Replace LifetimeRes::Anonymous by LifetimeRes::Infer.
2022-07-26 19:00:31 +02:00
Camille GILLOT
ab63591f00
Remove the distinction between LifetimeName::Implicit and LifetimeName::Underscore.
2022-07-26 19:00:31 +02:00
Camille GILLOT
3c5048d2ec
Report elision failures on the AST.
2022-07-25 19:19:23 +02:00
Camille GILLOT
bfd0435fd7
Introduce AnonymousLifetimeRib::Elided and use it for implied 'static.
2022-07-20 22:12:12 +02:00
Camille GILLOT
32af719b07
Always create parameters for functions-like types.
2022-06-21 21:13:41 +02:00