about summary refs log tree commit diff
path: root/src/test/ui/consts/const-eval/ub-enum.rs
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-102/+0
2022-12-27Fix ui constant tests for big-endian platformsUlrich Weigand-0/+3
A number of tests under ui/const-ptr and ui/consts are currently failing on big-endian platforms as the binary encoding of some constants is hard-coded in the stderr test files. Fix this by providing a normalize-stderr-test rule that strips out the raw bytes hex dump, so the comparison can be done in an endianness-independent manner. Note that in most cases, this means the tests are now also independent of word size, so the 32bit and 64bit cases can be re-unified. To keep tests that verify the details of those raw bytes dumps, a new test case raw-bytes.rs performs the tests where the hex dumps were stripped out a second time, but only on little- endian platforms. In addition, src/test/ui/const-ptr/forbidden_slices.rs exposes an endian-specific difference in this diagnostic output: constructing invalid value at .<deref>[0]: encountered 0x11, but expected a boolean depending on which byte of D0 is not a boolean value (0 or 1). Fixed this by choosing a value of D0 that differs from 0 or 1 in all bytes. Fixes part of https://github.com/rust-lang/rust/issues/105383.
2022-10-07make const_err a hard errorRalf Jung-10/+5
2022-09-27also query type_uninhabited_fromRalf Jung-0/+1
2022-08-31Fix a bunch of typoDezhi Wu-1/+1
This PR will fix some typos detected by [typos]. I only picked the ones I was sure were spelling errors to fix, mostly in the comments. [typos]: https://github.com/crate-ci/typos
2022-08-26make read_immediate error immediately on uninit, so ImmTy can carry ↵Ralf Jung-1/+2
initialized Scalar
2022-06-05interpret: better control over whether we read data with provenance, and ↵Ralf Jung-6/+10
implicit provenance stripping where possible
2022-03-24Check if call return type is visibly uninhabited when building MIRTomasz Miąsko-2/+2
2021-03-31Rename stderr->64bit.stderr where needed.Hameer Abbasi-1/+1
2020-07-11Rollup merge of #72920 - oli-obk:const_transmute, r=RalfJungManish Goregaokar-1/+1
Stabilize `transmute` in constants and statics but not const fn cc #53605 (leaving issue open so we can add `transmute` to `const fn` later) Previous attempt: #64011 r? @RalfJung cc @rust-lang/wg-const-eval
2020-07-11Stabilize `transmute` in constants and statics but not const fnOliver Scherer-1/+1
2020-07-03adjust ub-enum test to be endianess-independentRalf Jung-2/+3
2020-04-26organize Debug/Display impls a bit more; avoid sign-ignorant decimal displayRalf Jung-0/+1
2020-03-08fix type size mismatch on 32bitRalf Jung-3/+2
2020-03-06please tidyRalf Jung-0/+1
2020-03-06test some more kinds of enums with uninhabited variantsRalf Jung-1/+35
2020-03-06const validation ub tests: use transmute instead of unionsRalf Jung-31/+18
2019-08-30const-eval tests: make all unions repr(C)Ralf Jung-0/+3
2019-07-04turns out that dangling pointer branch is dead code; remove it and improve ↵Ralf Jung-10/+22
the error that actually gets shown a bit
2018-12-25Remove licensesMark Rousskov-10/+0
2018-11-19we now do proper validation on scalarsRalf Jung-5/+5
2018-11-15do not accept out-of-bounds pointers in enum discriminants, they might be NULLRalf Jung-0/+5
2018-11-07do not print wrapping ranges like normal ranges in diagnosticsRalf Jung-10/+19
2018-11-05Also test for undef in enum discriminantRalf Jung-0/+5
The error message is sub-par, but fixing that requries moving ScalarMaybeUndef to librustc which would conflict badly with another PR that is in flight.
2018-11-05fix validation error on non-integer enum discriminantsRalf Jung-0/+2
2018-10-25Report const eval error inside the queryOliver Schneider-3/+3
2018-08-22optimize sanity check path printingRalf Jung-0/+49
During the sanity check, we keep track of the path we are below in a `Vec`. We avoid cloning that `Vec` unless we hit a pointer indirection. The `String` representation is only computed when validation actually fails.