Gurinder Singh
741d40f327
Remove redundant union check in `KnownPanicsLint const prop
...
because we are already marking unions `NoPropagation` in
`CanConstProp::check()`. That is enough to prevent any attempts
at const propagating unions and this second check is not needed.
Also improve a comment in `CanConstProp::check()`
2024-04-30 15:17:47 +05:30
Gurinder Singh
254a9fbe86
Prohibit const prop of unions in KnownPanicsLint
...
as they have a potential to ICE during layout calculation
2024-04-29 08:16:26 +05:30
Scott McMurray
e6b2b764ec
Add AggregateKind::RawPtr and enough support to compile
2024-04-21 11:08:37 -07:00
Ralf Jung
42220f0930
ScalarInt: add methods to assert being a (u)int of given size
2024-04-19 13:51:52 +02:00
Vadim Petrochenkov
b40ea03f8a
rustc_index: Add a ZERO constant to index types
...
It is commonly used.
2024-04-03 19:06:22 +03:00
Ralf Jung
6177530420
refactor check_{lang,library}_ub: use a single intrinsic, put policy into library
2024-03-23 18:45:05 +01:00
Matthias Krüger
96be3e7cc8
Rollup merge of #122784 - jswrenn:tag_for_variant, r=compiler-errors
...
Add `tag_for_variant` query
This query allows for sharing code between `rustc_const_eval` and `rustc_transmutability`. It's a precursor to a PR I'm working on to entirely replace the bespoke layout computations in `rustc_transmutability`.
r? `@compiler-errors`
2024-03-22 20:31:29 +01:00
Jack Wrenn
2de9010f66
Add tag_for_variant query
...
This query allows for sharing code between `rustc_const_eval` and
`rustc_transmutability`.
Also moves `DummyMachine` to `rustc_const_eval`.
2024-03-22 17:01:49 +00:00
Oli Scherer
adda9da604
Avoid various uses of Option<Span> in favor of using DUMMY_SP in the few cases that used None
2024-03-18 09:34:08 +00:00
Ben Kimock
5a93a59fd5
Distinguish between library and lang UB in assert_unsafe_precondition
2024-03-08 18:53:58 -05:00
Gurinder Singh
beac5b12aa
Fix typo in comment
2024-03-01 08:14:42 +05:30
Gurinder Singh
633c92cd6d
Do not const pop unions
...
as they can made to produce values whose types don't
match their underlying layout types which can lead to
ICEs on eval
2024-02-26 15:22:22 +05:30
Gurinder Singh
42c4df01a8
Rename ConstPropLint to KnownPanicsLint
...
It is a clearer name because it communicates what the lint does
instead of the underlying mechanism it uses (const propagation).
2024-02-20 07:41:48 +05:30