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
Matthew Jasper
26f48b4cba
Stabilize THIR unsafeck
2024-01-05 10:00:59 +00:00
Michael Goulet
fcb42b42d6
Remove movability from TyKind::Coroutine
2023-12-28 16:35:01 +00: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
Matthias Krüger
911a5ee7ff
Rollup merge of #118333 - eduardosm:print-missing-target-features, r=est31
...
Print list of missing target features when calling a function with target features outside an unsafe block
Fixes https://github.com/rust-lang/rust/issues/108680
Supersedes https://github.com/rust-lang/rust/pull/109710 . I used the same wording for the messages, but the implementation is different.
r? `@est31`
2023-11-29 12:34:50 +01:00
Jake Goulding
87380cbc0c
Address unused tuple struct fields in the compiler
2023-11-27 13:54:50 -05:00
Eduardo Sánchez Muñoz
51ba662d23
Print list of missing target features when calling a function with target features outside an unsafe block
2023-11-27 19:13:11 +01:00
Vadim Petrochenkov
c697927f44
rustc: hir().local_def_id_to_hir_id() -> tcx.local_def_id_to_hir_id() cleanup
2023-11-26 12:41:21 +03: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
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
Camille GILLOT
e63d19c4dd
Remove mir::LocalDecl::internal.
2023-10-04 17:55:15 +00:00
Ralf Jung
c94410c145
rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const
2023-09-21 08:12:30 +02:00
mojave2
df6e6a6d08
fix #115348
2023-09-06 17:46:46 +08:00
Ralf Jung
4c53783f3c
when terminating during unwinding, show the reason why
2023-08-24 13:28:26 +02:00
Ralf Jung
818ec8e23a
give some unwind-related terminators a more clear name
2023-08-20 15:52:38 +02:00
Michael Woerister
457b787a52
Introduce ExtentUnord trait for collections that can safely consume UnordItems.
2023-07-14 10:10:15 +02:00
bors
5683791ebb
Auto merge of #112017 - Nemo157:unsafe-block-rustfix, r=eholk
...
Add MVP suggestion for `unsafe_op_in_unsafe_fn`
Rebase of https://github.com/rust-lang/rust/pull/99827
cc tracking issue https://github.com/rust-lang/rust/issues/71668
No real changes since the original PR, just migrated the new suggestion to use fluent messages and added a couple more testcases, AFAICT from the discussion there were no outstanding changes requested.
2023-06-13 15:57:59 +00:00
Wim Looman
8f3e876e52
Add note about unsafe functions body not being unsafe
2023-06-13 15:48:57 +02:00
Léo Lanteri Thauvin
975152ce30
Add MVP suggestion for unsafe_op_in_unsafe_fn
...
Nemo157 rebase notes: Migrated the changes to the lint into fluent
2023-06-13 15:46:54 +02:00
Camille GILLOT
ca4d0d4c24
Separate AnonConst from ConstBlock in HIR.
2023-06-02 21:25:18 +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
d5bc581f5d
Migrate mir_transform to translatable diagnostics
2023-05-02 16:24:18 +01:00
Camille GILLOT
b275d2c30b
Remove WithOptconstParam.
2023-04-20 17:48:32 +00:00
Gary Guo
e3f2edc75b
Rename Abort terminator to Terminate
...
Unify terminology used in unwind action and terminator, and reflect
the fact that a nounwind panic is triggered instead of an immediate
abort is triggered for this terminator.
2023-04-06 09:34:16 +01:00
Camille GILLOT
bcb161def7
Wrap the whole LocalInfo in ClearCrossCrate.
2023-03-14 20:52:42 +01:00
Camille GILLOT
b34a8a294d
Pacify tidy.
2023-03-09 17:45:13 +00:00
Camille GILLOT
e107194b66
Ignore AscribeUserType in unsafeck to avoid duplicate diagnostics.
2023-03-09 17:45:13 +00:00
Camille GILLOT
4462bb54e3
Introduce a no-op PlaceMention statement for let _ =.
2023-03-09 17:45:13 +00:00
Matthias Krüger
4e84fbf8a0
Rollup merge of #108856 - Zeegomo:remove-drop-and-rep, r=tmiasko
...
Remove DropAndReplace terminator
#107844 made DropAndReplace unused, let's remove it completely from the codebase.
2023-03-08 21:26:51 +01:00
Giacomo Pasini
c5d4e4d907
Remove DropAndReplace terminator
...
PR 107844 made DropAndReplace unused, let's remove it completely
from the codebase.
2023-03-07 14:25:22 +01:00
Michael Woerister
04e5fa3ce2
Remove last instances of HashSet in query result types.
2023-03-01 10:20:45 +01:00
Camille GILLOT
0241c29123
Put a DefId in AggregateKind.
2023-02-02 23:09:51 +00:00
bors
3cdd0197e7
Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk
...
Use stable metric for const eval limit instead of current terminator-based logic
This patch adds a `MirPass` that inserts a new MIR instruction `ConstEvalCounter` to any loops and function calls in the CFG. This instruction is used during Const Eval to count against the `const_eval_limit`, and emit the `StepLimitReached` error, replacing the current logic which uses Terminators only.
The new method of counting loops and function calls should be more stable across compiler versions (i.e., not cause crates that compiled successfully before, to no longer compile when changes to the MIR generation/optimization are made).
Also see: #103877
2023-01-29 04:11:27 +00:00
Camille GILLOT
3175d03d3b
Take a LocalDefId in hir::Visitor::visit_fn.
2023-01-28 09:51:50 +00:00
Bryan Garza
360db516cc
Create stable metric to measure long computation in Const Eval
...
This patch adds a `MirPass` that tracks the number of back-edges and
function calls in the CFG, adds a new MIR instruction to increment a
counter every time they are encountered during Const Eval, and emit a
warning if a configured limit is breached.
2023-01-23 23:56:22 +00:00
Jeremy Stucki
3dde32ca97
rustc: Remove needless lifetimes
2022-12-20 22:10:40 +01:00
Jakob Degen
c1b27eea45
Fix unsafetyck disabling for custom MIR
2022-12-14 01:02:35 -08:00
Gary Guo
9342d1e73e
Allow unsafe through inline const
...
This is handled similar to closures
2022-12-13 01:38:38 +00:00
Jakob Degen
ba359d8a51
Add support for custom MIR parsing
2022-11-08 23:13:15 -08:00
clubby789
28819cbb7e
Formatting changes + add UI test
2022-11-04 12:58:20 +00:00
clubby789
b7360fa23f
Give a specific lint for unsafety not being inherited
2022-11-04 12:26:21 +00:00
ouz-a
a1672ad5b8
Remove bounds check with enum cast
2022-10-31 14:10:37 +03:00
Maybe Waffle
a17ccfa621
Accept TyCtxt instead of TyCtxtAt in Ty::is_* functions
...
Functions in answer:
- `Ty::is_freeze`
- `Ty::is_sized`
- `Ty::is_unpin`
- `Ty::is_copy_modulo_regions`
2022-10-27 15:06:08 +04:00
Maybe Waffle
a8f7e244b7
Refactor rustc lint API
2022-10-01 10:03:06 +00:00
Oli Scherer
b7413511dc
Generalize the Assume intrinsic statement to a general Intrinsic statement
2022-09-06 14:18:32 +00:00
Oli Scherer
3f07645120
Lower the assume intrinsic to a MIR statement
2022-09-06 14:18:32 +00:00
Ralf Jung
35a35d86fd
update comment
...
Co-authored-by: Léo Lanteri Thauvin <leseulartichaut@gmail.com >
2022-08-02 18:55:43 -04:00