rust/tests/ui/consts
Matthias Krüger 00dcc7b97c
Rollup merge of #114372 - RalfJung:const-pointer-as-int, r=oli-obk
const validation: point at where we found a pointer but expected an integer

Instead of validation just printing "unable to turn pointer into bytes", make this a regular validation error that says where in the value the bad pointer was found. Also distinguish "expected integer, got pointer" from "expected pointer, got partial pointer or mix of pointers".

To avoid duplicating things too much I refactored the diagnostics for validity a bit, so that "got uninit, expected X" and "got pointer, expected X" can share the "X" part. Also all the errors emitted for validation are now grouped under `const_eval_validation` so that they are in a single group in the ftl file.

r? `@oli-obk`
2023-08-03 17:29:08 +02:00
..
auxiliary
const_constructor
const_in_pattern tests: unset RUSTC_LOG_COLOR 2023-06-29 11:15:45 +01:00
const-blocks
const-eval const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
const-extern-fn
const-mut-refs
control-flow
extra-const-ub const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
min_const_fn
miri_unleashed const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
std
array-literal-index-oob.rs
array-literal-index-oob.stderr
array-literal-len-mismatch.rs
array-literal-len-mismatch.stderr
array-to-slice-cast.rs
assert-type-intrinsics.rs
assert-type-intrinsics.stderr
assoc_const_generic_impl.rs
assoc_const_generic_impl.stderr
assoc-const.rs
associated_const_generic.rs
async-block.rs
async-block.with_feature.stderr
async-block.without_feature.stderr
bswap-const.rs
cast-discriminant-zst-enum.rs
chained-constants-stackoverflow.rs
check_const-feature-gated.rs
closure-in-foreign-crate.rs
closure-structural-match-issue-90013.rs
const_cmp_type_id.rs
const_cmp_type_id.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
const_discriminant.rs interpret: refactor projection code to work on a common trait, and use that for visitors 2023-07-25 14:30:58 +02:00
const_fn_floating_point_arithmetic.gated.stderr
const_fn_floating_point_arithmetic.rs
const_fn_floating_point_arithmetic.stock.stderr
const_fn_return_nested_fn_ptr.rs
const_fn_unsize.rs
const_forget.rs
const_let_assign2.rs
const_let_assign3.rs
const_let_assign3.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
const_let_assign.rs
const_let_eq_float.rs
const_let_eq.rs
const_let_irrefutable.rs
const_let_promote.rs
const_let_refutable.rs
const_let_refutable.stderr
const_prop_slice_pat_ice.rs
const_short_circuit.rs
const_unsafe_unreachable_ub.rs
const_unsafe_unreachable_ub.stderr
const_unsafe_unreachable.rs
const-address-of-interior-mut.rs
const-address-of-interior-mut.stderr
const-address-of-mut.rs
const-address-of-mut.stderr
const-address-of.rs
const-adt-align-mismatch.rs
const-array-oob-arith.rs
const-array-oob-arith.stderr
const-array-oob.rs
const-array-oob.stderr
const-as-fn.rs
const-as-fn.stderr
const-autoderef.rs
const-big-enum.rs
const-binops.rs
const-bitshift-rhs-inference.rs
const-block-const-bound.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
const-block-const-bound.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
const-block-cross-crate-fn.rs
const-block-item-macro-codegen.rs
const-block-item.rs
const-block-non-item-statement-3.rs
const-block-non-item-statement-rpass.rs
const-block-non-item-statement.rs
const-block.rs
const-bound.rs
const-byte-str-cast.rs
const-call.rs
const-call.stderr
const-cast-different-types.rs
const-cast-different-types.stderr
const-cast-ptr-int.rs
const-cast-wrong-type.rs
const-cast-wrong-type.stderr
const-cast.rs
const-const.rs
const-contents.rs
const-deref-ptr.rs
const-deref-ptr.stderr
const-deref.rs
const-endianess.rs
const-enum-byref-self.rs
const-enum-byref.rs
const-enum-cast.rs
const-enum-ptr.rs
const-enum-struct2.rs
const-enum-struct.rs
const-enum-structlike.rs
const-enum-tuple2.rs
const-enum-tuple.rs
const-enum-tuplestruct2.rs
const-enum-tuplestruct.rs
const-enum-vec-index.rs
const-enum-vec-ptr.rs
const-enum-vector.rs
const-err2.noopt.stderr
const-err2.opt_with_overflow_checks.stderr
const-err2.opt.stderr
const-err2.rs
const-err4.32bit.stderr
const-err4.64bit.stderr
const-err4.rs
const-err-early.rs
const-err-early.stderr
const-err-late.rs
const-err-late.stderr
const-err-multi.rs
const-err-multi.stderr
const-err-rpass.rs
const-expr-addr-operator.rs
const-expr-in-fixed-length-vec.rs
const-expr-in-vec-repeat.rs
const-extern-function.rs
const-external-macro-const-err.rs
const-external-macro-const-err.stderr
const-fields-and-indexing.rs
const-float-bits-conv.rs
const-float-bits-reject-conv.rs
const-float-bits-reject-conv.stderr
const-float-classify.rs Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
const-float-classify.stderr Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
const-fn-const-eval.rs
const-fn-destructuring-arg.rs
const-fn-error.rs
const-fn-error.stderr
const-fn-in-vec.rs
const-fn-in-vec.stderr
const-fn-method.rs
const-fn-mismatch.rs
const-fn-mismatch.stderr
const-fn-nested.rs
const-fn-not-in-trait.rs
const-fn-not-in-trait.stderr
const-fn-not-safe-for-const.rs
const-fn-not-safe-for-const.stderr
const-fn-ptr.rs
const-fn-ptr.stderr
const-fn-stability-calls-3.rs
const-fn-stability-calls.rs
const-fn-type-name-any.rs
const-fn-type-name.rs
const-fn-val.rs
const-fn-zst-args.rs
const-fn.rs
const-for-feature-gate.rs
const-for-feature-gate.stderr
const-for.rs
const-for.stderr
const-index-feature-gate.rs
const-int-arithmetic-overflow.rs
const-int-arithmetic.rs
const-int-conversion-rpass.rs
const-int-conversion.rs
const-int-conversion.stderr
const-int-overflowing-rpass.rs
const-int-overflowing.rs
const-int-overflowing.stderr
const-int-pow-rpass.rs
const-int-rotate-rpass.rs
const-int-rotate.rs
const-int-rotate.stderr
const-int-saturating-arith.rs
const-int-sign-rpass.rs
const-int-sign.rs
const-int-sign.stderr
const-int-unchecked.rs
const-int-unchecked.stderr
const-int-wrapping-rpass.rs
const-int-wrapping.rs
const-int-wrapping.stderr
const-integer-bool-ops.rs
const-integer-bool-ops.stderr
const-labeled-break.rs
const-len-underflow-separate-spans.next.stderr implement ConstEvaluatable goals in new solver 2023-07-04 15:54:18 +02:00
const-len-underflow-separate-spans.old.stderr implement ConstEvaluatable goals in new solver 2023-07-04 15:54:18 +02:00
const-len-underflow-separate-spans.rs implement ConstEvaluatable goals in new solver 2023-07-04 15:54:18 +02:00
const-len-underflow-subspans.rs
const-len-underflow-subspans.stderr
const-match-check.eval1.stderr
const-match-check.eval2.stderr
const-match-check.matchck.stderr
const-match-check.rs
const-match-pattern-arm.rs
const-meth-pattern.rs
const-multi-ref.rs
const-multi-ref.stderr
const-needs_drop-monomorphic.rs
const-needs_drop-monomorphic.stderr
const-needs_drop.rs
const-negation.rs
const-negative.rs
const-nullary-enum.rs
const-nullary-univariant-enum.rs
const-pattern-irrefutable.rs
const-pattern-irrefutable.stderr
const-pattern-not-const-evaluable.rs
const-pattern-variant.rs
const-points-to-static.32bit.stderr
const-points-to-static.64bit.stderr
const-points-to-static.rs
const-ptr-nonnull-rpass.rs
const-ptr-nonnull.rs
const-ptr-nonnull.stderr
const-ptr-unique-rpass.rs
const-ptr-unique.rs
const-ptr-unique.stderr
const-rec-and-tup.rs
const-region-ptrs-noncopy.rs
const-region-ptrs.rs
const-repeated-values.rs
const-size_of_val-align_of_val-extern-type.rs
const-size_of_val-align_of_val-extern-type.stderr
const-size_of_val-align_of_val.rs
const-size_of-align_of.rs
const-size_of-cycle.rs
const-size_of-cycle.stderr Revert "Auto merge of #113166 - moulins:ref-niches-initial, r=oli-obk" 2023-07-21 22:35:57 -07:00
const-slice-oob.rs
const-slice-oob.stderr
const-struct-offsets.rs
const-struct.rs
const-suggest-feature.rs
const-suggest-feature.stderr
const-trait-to-trait.rs
const-try-feature-gate.rs
const-try-feature-gate.stderr
const-try.rs
const-try.stderr
const-tup-index-span.rs
const-tup-index-span.stderr
const-tuple-struct.rs
const-type-mismatch.rs
const-type-mismatch.stderr
const-typeid-of-rpass.rs
const-unit-struct.rs
const-unsafe-fn.rs
const-unsized.rs
const-unsized.stderr
const-unwrap.rs
const-unwrap.stderr
const-validation-fail-55455.rs
const-variant-count.rs
const-vec-of-fns.rs
const-vec-syntax.rs
const-vecs-and-slices.rs
const.rs
constifconst-call-in-const-position.rs
constifconst-call-in-const-position.stderr Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
consts-in-patterns.rs
copy-intrinsic.rs
copy-intrinsic.stderr
ct-var-in-collect_all_mismatches.rs
ct-var-in-collect_all_mismatches.stderr
dangling_raw_ptr.rs
dangling_raw_ptr.stderr
dangling-alloc-id-ice.rs
dangling-alloc-id-ice.stderr
deref_in_pattern.rs
drop_box.rs
drop_box.stderr
drop_none.rs
drop_zst.rs
drop_zst.stderr
enum-discr-type-err.rs
enum-discr-type-err.stderr
eval-enum.rs
eval-enum.stderr
fn_trait_refs.rs
fn_trait_refs.stderr
gate-do-not-const-check.rs
gate-do-not-const-check.stderr
huge-values.rs
ice-48279.rs
ice-zst-static-access.rs
inline_asm.rs
inline_asm.stderr
int_ptr_for_zst_slices.rs
intrinsic_without_const_stab_fail.rs
intrinsic_without_const_stab_fail.stderr
intrinsic_without_const_stab.rs
intrinsic_without_const_stab.stderr
invalid_promotion.rs
invalid-const-in-body.rs
invalid-const-in-body.stderr
invalid-inline-const-in-match-arm.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
invalid-inline-const-in-match-arm.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
invalid-union.32bit.stderr
invalid-union.64bit.stderr
invalid-union.rs
issue-3521.fixed
issue-3521.rs
issue-3521.stderr
issue-6991.rs
issue-13837.rs
issue-13902.rs
issue-16538.mir.stderr
issue-16538.rs
issue-16538.thir.stderr
issue-17074.rs
issue-17458.rs
issue-17458.stderr
issue-17718-borrow-interior.rs
issue-17718-const-bad-values.rs
issue-17718-const-bad-values.stderr
issue-17718-const-borrow.rs
issue-17718-const-borrow.stderr
issue-17718-constants-not-static.rs
issue-17718-constants-not-static.stderr
issue-17718-references.rs
issue-17718-references.stderr
issue-17718.rs
issue-17756.rs
issue-18294.rs
issue-18294.stderr
issue-19244.rs
issue-21562.rs
issue-21721.rs
issue-23833.rs
issue-23968-const-not-overflow.rs
issue-25826.rs
issue-25826.stderr
issue-27890.rs
issue-28113.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-28113.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-28822.rs
issue-29798.rs
issue-29914-2.rs
issue-29914-3.rs
issue-29914.rs
issue-29927-1.rs
issue-29927.rs
issue-32829-2.rs
issue-32829-2.stderr
issue-32829.rs
issue-32829.stderr
issue-33537.rs
issue-33903.rs
issue-34784.rs
issue-36163.rs
issue-36163.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
issue-37222.rs
issue-37550-1.rs
issue-37550.rs
issue-37991.rs
issue-39161-bogus-error.rs
issue-39974.rs
issue-39974.stderr
issue-43105.rs
issue-43105.stderr
issue-44415.rs
issue-44415.stderr Revert "Auto merge of #113166 - moulins:ref-niches-initial, r=oli-obk" 2023-07-21 22:35:57 -07:00
issue-46553.rs
issue-47789.rs
issue-50439.rs
issue-50439.stderr
issue-52023-array-size-pointer-cast.rs
issue-52023-array-size-pointer-cast.stderr
issue-52060.rs
issue-52060.stderr
issue-54224.rs
issue-54224.stderr
issue-54348.rs
issue-54348.stderr
issue-54387.rs
issue-54582.rs
issue-54954.rs
issue-54954.stderr
issue-56164.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-56164.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-58435-ice-with-assoc-const.rs
issue-62045.rs
issue-63226.rs
issue-63952.32bit.stderr
issue-63952.64bit.stderr
issue-63952.rs
issue-64059.rs
issue-64506.rs
issue-64506.stderr
issue-64662.rs
issue-64662.stderr
issue-65348.rs
issue-66342.rs
issue-66345.rs
issue-66397.rs
issue-66693-panic-in-array-len.rs
issue-66693-panic-in-array-len.stderr
issue-66693.rs
issue-66693.stderr
issue-66787.rs
issue-67529.rs
issue-67640.rs
issue-67641.rs
issue-67696-const-prop-ice.rs
issue-67862.rs
issue-68264-overflow.rs
issue-68542-closure-in-array-len.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-68542-closure-in-array-len.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-68684.rs
issue-69191-ice-on-uninhabited-enum-field.rs
issue-69310-array-size-lit-wrong-ty.rs
issue-69310-array-size-lit-wrong-ty.stderr
issue-69312.rs
issue-69488.rs
issue-69532.rs
issue-70773-mir-typeck-lt-norm.rs
issue-70942-trait-vs-impl-mismatch.rs
issue-70942-trait-vs-impl-mismatch.stderr
issue-73976-monomorphic.rs
issue-73976-monomorphic.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-73976-polymorphic.rs
issue-73976-polymorphic.stderr
issue-76064.rs
issue-76064.stderr
issue-77062-large-zst-array.rs
issue-78655.rs
issue-78655.stderr
issue-79137-monomorphic.rs
issue-79137-toogeneric.rs
issue-79137-toogeneric.stderr
issue-79152-const-array-index.rs
issue-79690.64bit.stderr
issue-79690.rs
issue-87046.rs
issue-87046.stderr
issue-88071.rs
issue-88649.rs
issue-89088.rs
issue-90762.rs
issue-90870.fixed
issue-90870.rs
issue-90870.stderr
issue-90878-2.rs
issue-90878-2.stderr
issue-90878-3.rs
issue-90878-3.stderr
issue-90878.rs
issue-90878.stderr
issue-91434.rs
issue-91434.stderr
issue-91560.fixed
issue-91560.rs
issue-91560.stderr
issue-94371.rs
issue-94675.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-94675.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
issue-96169.rs
issue-102117.rs
issue-102117.stderr
issue-103790.rs
issue-103790.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
issue-104155.rs
issue-104396.rs
issue-104396.stderr
issue-104609.rs
issue-104609.stderr
issue-104768.rs
issue-104768.stderr
issue-broken-mir.rs
issue-miri-1910.rs
issue-miri-1910.stderr const validation: point at where we found a pointer but expected an integer 2023-08-02 18:51:50 +02:00
large_const_alloc.rs
large_const_alloc.stderr
locals-in-const-fn.rs
match_ice.rs
match_ice.stderr
match-const-fn-structs.rs
mir_check_nonconst.rs
mir_check_nonconst.stderr
missing_span_in_backtrace.rs
missing_span_in_backtrace.stderr
missing-larger-array-impl.rs
missing-larger-array-impl.stderr Don't sort strings right after we just sorted by types 2023-06-27 23:31:06 +00:00
mozjs-error.rs
nested_erroneous_ctfe.rs
nested_erroneous_ctfe.stderr
non-const-value-in-const.rs
non-const-value-in-const.stderr
non-scalar-cast.rs
non-sync-references-in-const.rs
offset_from_ub.rs
offset_from_ub.stderr
offset_from.rs
offset_ub.rs
offset_ub.stderr
offset.rs
packed_pattern2.rs
packed_pattern2.stderr
packed_pattern.rs
packed_pattern.stderr
partial_qualif.rs
partial_qualif.stderr
precise-drop-with-coverage.rs
precise-drop-with-promoted.rs Fix tests. 2023-07-29 11:47:26 +02:00
precise-drop-with-promoted.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
promote_borrowed_field.rs
promote_const_let.rs
promote_const_let.stderr
promote_evaluation_unused_result.rs
promote_fn_calls_std.rs
promote_fn_calls.rs
promote-not.rs
promote-not.stderr
promoted_const_call2.rs
promoted_const_call2.stderr
promoted_const_call3.rs
promoted_const_call3.stderr
promoted_const_call4.rs
promoted_const_call5.rs
promoted_const_call5.stderr
promoted_const_call.rs update tests, adding known-bug 2023-07-27 15:51:02 +00:00
promoted_const_call.stderr update tests, adding known-bug 2023-07-27 15:51:02 +00:00
promoted_regression.rs
promoted-const-drop.rs
promoted-const-drop.stderr
promoted-storage.rs
promoted-validation-55454.rs
promotion-mutable-ref.rs
promotion.rs
ptr_comparisons.rs fix and extend ptr_comparison test 2023-08-01 18:23:37 +02:00
ptr_is_null.rs Also lint on cast/cast_mut and ptr::from_mut/ptr::from_ref 2023-08-03 10:52:15 +02:00
qualif_overwrite_2.rs
qualif_overwrite_2.stderr
qualif_overwrite.rs
qualif_overwrite.stderr
qualif-indirect-mutation-fail.rs
qualif-indirect-mutation-fail.stderr
qualif-indirect-mutation-pass.rs
qualif-union.rs
qualif-union.stderr
raw_pointer_promoted.rs
raw-ptr-const.rs
raw-ptr-const.stderr
recursive-zst-static.default.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
recursive-zst-static.rs
recursive-zst-static.unleash.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
recursive.rs
recursive.stderr
references.rs
refs_check_const_eq-issue-88384.rs
refs_check_const_eq-issue-88384.stderr
refs_check_const_value_eq-issue-88876.rs
repeat_match.rs
return-in-const-fn.rs
rustc-const-stability-require-const.rs
rustc-const-stability-require-const.stderr
rustc-impl-const-stability.rs
rustc-impl-const-stability.stderr
rvalue-static-promotion.rs
self_normalization2.rs
self_normalization.rs
signed_enum_discr.rs
stable-precise-live-drops-in-libcore.rs
stable-precise-live-drops-in-libcore.stderr
static_mut_containing_mut_ref2.mut_refs.stderr
static_mut_containing_mut_ref2.rs
static_mut_containing_mut_ref2.stock.stderr
static_mut_containing_mut_ref3.rs
static_mut_containing_mut_ref3.stderr
static_mut_containing_mut_ref.rs
static-cycle-error.rs
static-raw-pointer-interning2.rs
static-raw-pointer-interning.rs
timeout.rs
timeout.stderr
too_generic_eval_ice.rs
too_generic_eval_ice.stderr Don't sort strings right after we just sorted by types 2023-06-27 23:31:06 +00:00
trait_specialization.rs
trait_specialization.stderr
transmute-const.rs
transmute-size-mismatch-before-typeck.rs
transmute-size-mismatch-before-typeck.stderr
try-operator.rs
try-operator.stderr
tuple-struct-constructors.rs
underscore_const_names.rs
uninhabited-const-issue-61744.rs
uninhabited-const-issue-61744.stderr
union_constant.rs
unnormalized-param-env.rs
unstable-const-fn-in-libcore.rs Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
unstable-const-fn-in-libcore.stderr Remove constness from TraitPredicate 2023-08-02 15:38:00 +00:00
unstable-precise-live-drops-in-libcore.rs
unwind-abort.rs
validate_never_arrays.rs
validate_never_arrays.stderr
write_to_mut_ref_dest.rs
write_to_mut_ref_dest.stock.stderr
write_to_static_via_mut_ref.rs
write_to_static_via_mut_ref.stderr
write-to-static-mut-in-static.rs
write-to-static-mut-in-static.stderr moved note as unspanned note, moved note to the bottom of the msg 2023-07-18 21:53:34 -04:00
zst_no_llvm_alloc.rs