bors
a615cea333
Auto merge of #121885 - reitermarkus:generic-nonzero-inner, r=oli-obk,wesleywiser
...
Move generic `NonZero` `rustc_layout_scalar_valid_range_start` attribute to inner type.
Tracking issue: https://github.com/rust-lang/rust/issues/120257
r? `@dtolnay`
2024-03-17 02:27:52 +00:00
Ralf Jung
48f2f0d725
preserve span when evaluating mir::ConstOperand
2024-03-14 21:55:07 +01:00
Matthias Krüger
bdf84ea00e
Rollup merge of #122440 - RalfJung:required-consts, r=oli-obk
...
const-eval: organize and extend tests for required-consts
This includes some tests that are known-broken and hence disabled (due to https://github.com/rust-lang/rust/issues/107503 ).
r? `````@oli-obk`````
2024-03-14 11:10:00 +01:00
Ralf Jung
514b2745b3
const-eval: organize and extend tests for required-consts
2024-03-13 17:49:45 +01:00
Felix S. Klock II
1c3424bfc1
Added deny(const_eval_mutable_ptr_in_final_value)
attribute to all tests that were expecting the hard error for it.
...
I attempted to do this in a manner that preserved the line numbers to reduce the
review effort on the resulting diff, but we still have to deal with the
ramifications of how a future-incompat lint behaves compared to a hard-error (in
terms of its impact on the diagnostic output).
2024-03-13 10:32:41 -04:00
Markus Reiter
2d48a3a7bc
Move generic NonZero
rustc_layout_scalar_valid_range_start
attribute to inner type.
2024-03-10 13:18:07 +01:00
yukang
c81521ae54
Fix crash in late internal checking
2024-03-08 19:00:53 +08:00
Ralf Jung
3ed175cc54
add const test for ptr::metadata
2024-02-29 18:48:04 +01:00
bors
5c786a7fe3
Auto merge of #121516 - RalfJung:platform-intrinsics-begone, r=oli-obk
...
remove platform-intrinsics ABI; make SIMD intrinsics be regular intrinsics
`@Amanieu` `@workingjubilee` I don't think there is any reason these need to be "special"? The [original RFC](https://rust-lang.github.io/rfcs/1199-simd-infrastructure.html ) indicated eventually making them stable, but I think that is no longer the plan, so seems to me like we can clean this up a bit.
Blocked on https://github.com/rust-lang/stdarch/pull/1538 , https://github.com/rust-lang/rust/pull/121542 .
2024-02-26 22:24:16 +00:00
Markus Reiter
b2fbb8a053
Use generic NonZero
in tests.
2024-02-25 12:03:48 +01:00
Ralf Jung
c1d0e489e5
fix use of platform_intrinsics in tests
2024-02-25 08:15:44 +01:00
Oli Scherer
9062697917
Always evaluate free constants and statics, even if previous errors occurred
2024-02-19 22:11:13 +00:00
Gurinder Singh
5010ca001c
Enable ConstPropLint
for promoteds
...
This fixes the issue wherein the lint didn't fire for promoteds
in the case of SHL/SHR operators in non-optimized builds
and all arithmetic operators in optimized builds
2024-02-17 10:44:46 +05:30
许杰友 Jieyou Xu (Joe)
ec2cc761bc
[AUTO-GENERATED] Migrate ui tests from //
to //@
directives
2024-02-16 20:02:50 +00:00
Ralf Jung
f68e79dcac
remove stderr-per-bitwidth from some tests
2024-02-16 10:09:12 +01:00
Ralf Jung
0184ca695b
revert stabilization of const_intrinsic_copy
2024-02-05 20:58:31 +01:00
Matthias Krüger
326839bf7f
Rollup merge of #120616 - fmease:fix-ice-const-eval-fail-undef-field-access, r=compiler-errors
...
Fix ICE on field access on a tainted type after const-eval failure
Fixes #120615 .
r? oli-obk or compiler
2024-02-03 21:29:45 +01:00
León Orell Valerian Liehr
4f773af1cc
Check for presence of field in typeck results before visiting it
...
Co-authored-by: Michael Goulet <michael@errs.io>
2024-02-03 19:41:18 +01:00
Nicholas Nethercote
4225a1e186
Don't hash lints differently to non-lints.
...
`Diagnostic::keys`, which is used for hashing and equating diagnostics,
has a surprising behaviour: it ignores children, but only for lints.
This was added in #88493 to fix some duplicated diagnostics, but it
doesn't seem necessary any more.
This commit removes the special case and only four tests have changed
output, with additional errors. And those additional errors aren't
exact duplicates, they're just similar. For example, in
src/tools/clippy/tests/ui/same_name_method.rs we currently have this
error:
```
error: method's name is the same as an existing method in a trait
--> $DIR/same_name_method.rs:75:13
|
LL | fn foo() {}
| ^^^^^^^^^^^
|
note: existing `foo` defined here
--> $DIR/same_name_method.rs:79:9
|
LL | impl T1 for S {}
| ^^^^^^^^^^^^^^^^
```
and with this change we also get this error:
```
error: method's name is the same as an existing method in a trait
--> $DIR/same_name_method.rs:75:13
|
LL | fn foo() {}
| ^^^^^^^^^^^
|
note: existing `foo` defined here
--> $DIR/same_name_method.rs:81:9
|
LL | impl T2 for S {}
| ^^^^^^^^^^^^^^^^
```
I think printing this second argument is reasonable, possibly even
preferable to hiding it. And the other cases are similar.
2024-01-31 08:25:29 +11:00
Ralf Jung
2f1a8e2d7a
const-eval interner: from-scratch rewrite using mutability information from provenance rather than types
2024-01-22 09:28:00 +01:00
bors
5378c1cf07
Auto merge of #119821 - oli-obk:reveal_all_const_evals, r=lcnr
...
Always use RevealAll for const eval queries
implements what is described in https://github.com/rust-lang/rust/pull/116803#discussion_r1364089471
Using `UserFacing` for const eval does not make sense anymore, unless we significantly change things like avoiding revealing opaque types.
New tests are copied from https://github.com/rust-lang/rust/pull/101478
2024-01-20 04:57:51 +00:00
Oli Scherer
867831a170
Always use RevealAll for const eval queries
2024-01-19 11:32:34 +00:00
Oli Scherer
3599c18874
Skip dead code checks on items that failed typeck
2024-01-16 10:52:28 +00:00
George-lewis
d56cdd48cb
Bless tests
...
Update tests
2024-01-13 12:46:58 -05:00
Nicholas Nethercote
2aac288c18
Use the right level with -Ztreat-err-as-bug
.
...
Errors in `DiagCtxtInner::emit_diagnostic` are never set to
`Level::Bug`, because the condition never succeeds, because
`self.treat_err_as_bug()` is called *before* the error counts are
incremented.
This commit switches to `self.treat_next_err_as_bug()`, fixing the
problem. This changes the error message output to actually say "internal
compiler error".
2024-01-11 16:55:10 +11:00
Ralf Jung
42921900a3
remove an unnecessary stderr-per-bitwidth
2024-01-06 14:54:08 +01:00
Camille GILLOT
2837727471
Replace legacy ConstProp by GVN.
2023-12-24 20:08:57 +00:00
Ralf Jung
edcb7aba6b
also test projecting to some sized fields at non-zero offset in structs with an extern type tail
2023-12-12 17:19:19 +01:00
Ralf Jung
df227f78c6
make it more clear what comments refer to; avoid dangling unaligned references
...
Co-authored-by: Waffle Maybe <waffle.lapkin@gmail.com>
2023-12-12 08:15:17 +01:00
Ralf Jung
9ef1e35166
reject projecting to fields whose offset we cannot compute
2023-12-12 08:15:17 +01:00
Ralf Jung
29c95e98e3
also print 'immutable' flag
2023-12-07 17:46:36 +01:00
Ralf Jung
4d93590d59
compile-time evaluation: emit a lint when a write through an immutable pointer occurs
2023-12-07 17:46:36 +01:00
bors
3f1e30a0a5
Auto merge of #118077 - calebzulawski:sync-portable-simd-2023-11-19, r=workingjubilee
...
Portable SIMD subtree update
Syncs nightly to the latest changes from rust-lang/portable-simd
r? `@rust-lang/libs`
2023-12-02 18:04:01 +00:00
Ralf Jung
1dbfe17f12
generic_const_exprs: suggest to add the feature, not use it
2023-11-30 20:59:51 +01:00
Ralf Jung
8892d29282
make const tests independent of std debug assertions
2023-11-27 09:15:40 +01:00
Caleb Zulawski
4d9607869a
Update std::simd usage and test outputs
2023-11-26 09:02:25 -05:00
Gary Guo
ece0d6e79a
Fix tests
2023-11-25 23:58:52 +00:00
Nilstrieb
9b80d85722
Manual find replace updates
2023-11-24 21:04:51 +01:00
Nilstrieb
41e8d152dc
Show number in error message even for one error
...
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-24 19:15:52 +01:00
Camille GILLOT
5b7cc9d704
Do not ICE on constant evaluation failure in GVN.
2023-10-31 10:44:28 +00:00
bors
7cc36de72d
Auto merge of #116240 - dtolnay:constdiscriminant, r=thomcc
...
Const stabilize mem::discriminant
Tracking issue: #69821 .
This PR is a rebase of https://github.com/rust-lang/rust/pull/103893 to resolve conflicts in library/core/src/lib.rs (against #102470 and #110393 ).
2023-10-28 19:38:15 +00:00
Maybe Waffle
e36224118f
Stabilize [const_]pointer_byte_offsets
2023-10-25 22:35:12 +00:00
Camille GILLOT
1f90d857d7
Stop trying to preserve pretty-printing.
2023-10-16 19:15:28 +00:00
Camille GILLOT
0eb958a89b
Rebless.
2023-10-16 18:36:47 +00:00
Camille GILLOT
02424e4bc5
Normalize alloc-id in tests.
2023-10-16 16:29:35 +00:00
Ralf Jung
e24835c6e0
more precise error for 'based on misaligned pointer' case
2023-10-15 18:13:33 +02:00
Ralf Jung
f3f9b795bd
place evaluation: require the original pointer to be aligned if an access happens
2023-10-15 18:13:31 +02:00
Ralf Jung
b1ebf002c3
don't UB on dangling ptr deref, instead check inbounds on projections
2023-10-15 18:12:46 +02:00
Guillaume Gomez
03cbf50c34
Rollup merge of #116576 - eduardosm:const-eval-wasm-target-features, r=RalfJung
...
const-eval: allow calling functions with targat features disabled at compile time in WASM
This is not unsafe on WASM, see https://github.com/rust-lang/rust/pull/84988
r? `@RalfJung`
Fixes https://github.com/rust-lang/rust/issues/116516
2023-10-14 22:35:05 +02:00
Eduardo Sánchez Muñoz
f9b1af6587
const-eval: allow calling functions with targat features disabled at compile time in WASM
...
This is not unsafe on WASM, see https://github.com/rust-lang/rust/pull/84988
2023-10-14 20:15:05 +02:00