Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Michael Goulet
af8d911d63
Also fix if in else
2024-09-11 17:24:01 -04:00
Nicholas Nethercote
f77821203f
Add warn(unreachable_pub) to rustc_passes.
2024-08-29 20:18:40 +10: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
Oli Scherer
cbee17d502
Revert "Create const block DefIds in typeck instead of ast lowering"
...
This reverts commit ddc5f9b6c1 .
2024-06-07 08:33:58 +00:00
Oli Scherer
a34c26e7ec
Make body_owned_by return the body directly.
...
Almost all callers want this anyway, and now we can use it to also return fed bodies
2024-05-29 10:04:08 +00:00
Oli Scherer
ddc5f9b6c1
Create const block DefIds in typeck instead of ast lowering
2024-05-28 13:38:43 +00:00
Nicholas Nethercote
725292315e
Remove #[macro_use] extern crate tracing from rustc_passes.
2024-05-23 18:02:17 +10:00
Nicholas Nethercote
99e036bd21
Remove extern crate rustc_middle from numerous crates.
2024-04-29 14:50:45 +10:00
Nicholas Nethercote
4b27cc8b7a
Avoid lots of hir::HirId{,Map,Set} qualifiers.
...
Because they're a bit redundant.
2024-04-16 16:29:15 +10:00
Guillaume Gomez
b376f49e30
Rename hir::Local into hir::LetStmt
2024-03-22 20:36:21 +01:00
Guillaume Gomez
a4e0e50a3f
Rename hir::StmtKind::Local into hir::StmtKind::Let
2024-03-14 12:42:04 +01:00
Gary Guo
93fa8579c6
Add asm label support to AST and HIR
2024-02-24 18:49:39 +00:00
Nadrieril
5e0e5b1efb
Fix liveness analysis in the presence of never patterns
2024-02-21 12:04:39 +01:00
Oli Scherer
eab2adb660
Continue to borrowck even if there were previous errors
2024-02-08 08:10:43 +00:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +00:00
Nicholas Nethercote
e164cf30f8
Rename TyCtxt::emit_spanned_lint as TyCtxt::emit_node_span_lint.
2024-01-23 08:09:05 +11:00
Nicholas Nethercote
2ea7a37e11
Add DiagCtxt::delayed_bug.
...
We have `span_delayed_bug` and often pass it a `DUMMY_SP`. This commit
adds `delayed_bug`, which matches pairs like `err`/`span_err` and
`warn`/`span_warn`.
2024-01-10 07:33:07 +11:00
bors
9212108a9b
Auto merge of #119531 - petrochenkov:cmpctxt, r=cjgillot
...
rustc_span: Optimize syntax context comparisons
Including comparisons with root context.
- `eq_ctxt` doesn't require retrieving full `SpanData`, or taking the span interner lock twice.
- Checking `SyntaxContext` for "rootness" is cheaper than extracting a full outer `ExpnData` for it and checking *it* for rootness.
The internal lint for `eq_ctxt` is also tweaked to detect `a.ctxt() != b.ctxt()` in addition to `a.ctxt() == b.ctxt()`.
2024-01-06 13:51:01 +00:00
Vadim Petrochenkov
90d11d6448
rustc_span: Optimize syntax context comparisons
...
Including comparisons with root context
2024-01-06 01:25:20 +03:00
Matthew Jasper
407cb24142
Remove hir::Guard
...
Use Expr instead. Use `ExprKind::Let` to represent if let guards.
2024-01-05 10:56:59 +00:00
Matthias Krüger
efd9fd66ba
Rollup merge of #119402 - est31:fix_if_guard_unused, r=compiler-errors
...
Also walk bindings created by if-let guards
This change makes the `unused_variables` lint pick up unused bindings created by if-let guards.
Fixes #119383
2023-12-29 11:19:28 +01:00
est31
ab60a7df64
Also walk bindings created by if-let guards
2023-12-29 03:38:09 +01:00
Nilstrieb
8fe4d0d156
Use Pat::walk_always instead of manual walk
2023-12-28 23:21:55 +01:00
zetanumbers
4bb7a122bb
move walk_expr outside of every match branch
2023-12-27 17:29:31 +03:00
Nicholas Nethercote
99472c7049
Remove Session methods that duplicate DiagCtxt methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Nicholas Nethercote
5d1d384443
Rename HandlerInner::delay_span_bug as HandlerInner::span_delayed_bug.
...
Because the corresponding `Level` is `DelayedBug` and `span_delayed_bug`
follows the pattern used everywhere else: `span_err`, `span_warning`,
etc.
2023-12-02 09:01:19 +11:00
Nilstrieb
21a870515b
Fix clippy::needless_borrow in the compiler
...
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.
Then I had to remove a few unnecessary parens and muts that were exposed
now.
2023-11-21 20:13:40 +01:00
yukang
82f34fdd23
Fix #117284 , Fix unused variables lint issue for args in macro
2023-10-30 21:35:18 +08:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
Michael Goulet
b2d2184ede
Format all the let chains in compiler
2023-10-13 08:59:36 +00:00
Matthias Krüger
269803ee56
remove redundant var rebindings
2023-08-19 14:09:30 +02:00
Nilstrieb
5706be1854
Improve spans for indexing expressions
...
Indexing is similar to method calls in having an arbitrary
left-hand-side and then something on the right, which is the main part
of the expression. Method calls already have a span for that right part,
but indexing does not. This means that long method chains that use
indexing have really bad spans, especially when the indexing panics and
that span in coverted into a panic location.
This does the same thing as method calls for the AST and HIR, storing an
extra span which is then put into the `fn_span` field in THIR.
2023-08-04 13:17:39 +02:00
Matthias Krüger
c64ef5e070
inline format!() args from rustc_codegen_llvm to the end (4)
...
r? @WaffleLapkin
2023-07-25 23:20:28 +02:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Mark Rousskov
cc907f80b9
Re-format let-else per rustfmt update
2023-07-12 21:49:27 -04:00
Maybe Waffle
ccb71ff424
hir: Add Become expression kind
2023-06-26 08:56:32 +00:00
John Kåre Alsaker
fff20a703d
Move expansion of query macros in rustc_middle to rustc_middle::query
2023-05-15 08:49:13 +02:00
clubby789
6a41cfe095
Migrate rustc_passes to translatable diagnostics
2023-04-26 11:40:21 +01:00
Maybe Waffle
e496fbec92
Split {Idx, IndexVec, IndexSlice} into their own modules
2023-04-24 13:53:35 +00:00
bors
f65615f02d
Auto merge of #109590 - Nilstrieb:copy-hir, r=oli-obk
...
Impl `Copy` for most HIR types
This simplifies the invocation of the `arena_types` macro and probably
makes working with HIR nicer in general.
Based on #109588
2023-04-24 03:10:55 +00:00
bors
3462f79e94
Auto merge of #108118 - oli-obk:lazy_typeck, r=cjgillot
...
Run various queries from other queries instead of explicitly in phases
These are just legacy leftovers from when rustc didn't have a query system. While there are more cleanups of this sort that can be done here, I want to land them in smaller steps.
This phased order of query invocations was already a lie, as any query that looks at types (e.g. the wf checks run before) can invoke e.g. const eval which invokes borrowck, which invokes typeck, ...
2023-04-23 13:34:31 +00:00
Nilstrieb
ed8d67d8ba
Impl Copy for almost all HIR types
...
This simplifies the invocation of the `arena_types` macro and probably
makes working with HIR nicer in general.
2023-04-22 23:00:28 +02:00
Oli Scherer
334423263a
Run check_match and check_liveness when MIR is built instead of having an explicit phase for them
2023-04-21 22:32:38 +00:00
Oli Scherer
5bb58a68de
Make check_match and check_liveness take a LocalDefId
2023-04-21 22:27:20 +00:00
DrMeepster
511e457c4b
offset_of
2023-04-21 02:14:02 -07:00
Michael Goulet
2eb1c08e43
Use local key in providers
2023-03-21 15:38:51 +00:00
clubby789
9afffc5b61
Remove box expressions from HIR
2023-03-14 17:18:26 +00:00
Vadim Petrochenkov
c83553da31
rustc_middle: Remove trait DefIdTree
...
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
Michael Goulet
c0e58c3420
Add ErrorGuaranteed to HIR ExprKind::Err
2023-02-25 19:46:36 +00:00