rust/library/core/src
bors 5958f5e08f Auto merge of #123317 - RalfJung:test-in-miri, r=m-ou-se,saethlin,onur-ozkan
Support running library tests in Miri

This adds a new bootstrap subcommand `./x.py miri` which can test libraries in Miri. This is in preparation for eventually doing that as part of bors CI, but this PR only adds the infrastructure, and doesn't enable it yet.

`@rust-lang/bootstrap` should this be `x.py test --miri library/core` or `x.py miri library/core`? The flag has the advantage that we don't have to copy all the arguments from `Subcommand::Test`. It has the disadvantage that most test steps just ignore `--miri` and still run tests the regular way. For clippy you went the route of making it a separate subcommand. ~~I went with a flag now as that seemed easier, but I can change this.~~ I made it a new subcommand. Note however that the regular cargo invocation would be `cargo miri test ...`, so `x.py` is still going to be different in that the `test` is omitted. That said, we could also make it `./x.py miri-test` to make that difference smaller -- that's in fact more consistent with the internal name of the command when bootstrap invokes cargo.

`@rust-lang/libs` ~~unfortunately this PR does some unholy things to the `lib.rs` files of our library crates.~~
`@m-ou-se` found a way that entirely avoids library-level hacks, except for some new small `lib.miri.rs` files that hopefully you will never have to touch. There's a new hack in cargo-miri but there it is in good company...
2024-04-05 13:17:09 +00:00
..
alloc SeqCst->Relaxed in doc examples. 2024-03-19 15:27:11 +01:00
array Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
ascii implement Default for AsciiChar 2024-02-13 12:04:44 +01:00
async_iter Step all bootstrap cfgs forward 2024-02-08 07:44:34 -05:00
cell Add some optimizations 2023-10-13 14:54:33 +02:00
char Auto merge of #122616 - Jules-Bertholet:casemappingiter-layout, r=Nilstrieb 2024-03-29 07:02:56 +00:00
cmp Use generic NonZero everywhere in core. 2024-02-22 15:17:33 +01:00
convert Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
ffi step cfgs 2024-03-20 08:49:13 -04:00
fmt rename expose_addr to expose_provenance 2024-04-03 16:00:38 +02:00
future Use root obligation on E0277 for some cases 2024-03-03 18:53:35 +00:00
hash Add fn const BuildHasherDefault::new 2024-03-29 17:10:17 +01:00
intrinsics rename expose_addr to expose_provenance 2024-04-03 16:00:38 +02:00
io BorrowedCursor docs clarification 2024-03-10 09:48:56 +01:00
iter Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
macros Fix error message for env! when env var is not valid Unicode 2024-04-01 05:44:45 +01:00
mem Auto merge of #122582 - scottmcm:swap-intrinsic-v2, r=oli-obk 2024-03-23 13:57:55 +00:00
net Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
num Rollup merge of #123226 - scottmcm:u32-shifts, r=WaffleLapkin 2024-04-02 21:22:01 +02:00
ops Extract helper, fix comment on DerefPure 2024-03-25 19:39:45 -04:00
panic add panic location to 'panicked while processing panic' 2024-03-23 09:44:04 +01:00
prelude Remove RustcEncodable/Decodable from 2024 prelude 2024-03-22 13:30:48 -07:00
ptr Rollup merge of #123206 - stepancheg:pointee-metadata-freeze, r=Amanieu 2024-04-04 21:16:55 -04:00
slice Auto merge of #122945 - andy-k:sorted-vec-example, r=jhpratt 2024-04-02 03:14:05 +00:00
str move assert_unsafe_preconditions to its own file 2024-03-23 18:44:17 +01:00
sync stabilize ptr.is_aligned, move ptr.is_aligned_to to a new feature gate 2024-03-29 19:59:46 -04:00
task set tracking issue 2024-04-02 15:45:53 -07:00
unicode Bump Unicode printables to version 15.1, align to unicode_data 2024-03-28 11:21:52 +01:00
any.rs Improve wording in std::any explanation 2024-03-29 10:10:52 -07:00
arch.rs Rust is a proper name: rust → Rust 2024-03-07 07:49:22 +01:00
ascii.rs Use generic NonZero internally. 2024-02-15 08:09:42 +01:00
asserting.rs [RFC 2011] Library code 2022-05-22 07:18:32 -03:00
bool.rs core is now compilable 2023-04-16 07:20:26 +00:00
borrow.rs doc: replace wrong punctuation mark 2023-07-28 14:46:17 +02:00
cell.rs Explain why we don't use intrinsics::is_nonoverlapping 2024-03-09 13:36:36 -05:00
clone.rs Put basic impls for f16 and f128 behind cfg(not(bootstrap)) 2024-04-02 16:19:55 -04:00
cmp.rs Auto merge of #123390 - tgross35:f16-f128-libs-basic-impls-bootstrap, r=jhpratt 2024-04-03 12:32:34 +00:00
default.rs Add basic trait impls for f16 and f128 2024-03-28 15:02:51 -04:00
error.md Fix minor grammar typo 2023-09-06 09:47:22 -07:00
error.rs style library/core/src/error.rs 2024-03-02 16:03:23 +08:00
escape.rs Use generic NonZero internally. 2024-02-15 08:09:42 +01:00
hint.rs move assert_unsafe_preconditions to its own file 2024-03-23 18:44:17 +01:00
internal_macros.rs add track_caller for arith ops 2023-11-24 00:54:06 +08:00
intrinsics.rs Auto merge of #123385 - matthiaskrgr:rollup-v69vjbn, r=matthiaskrgr 2024-04-02 21:23:53 +00:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs Put basic impls for f16 and f128 behind cfg(not(bootstrap)) 2024-04-02 16:19:55 -04:00
marker.rs Put basic impls for f16 and f128 behind cfg(not(bootstrap)) 2024-04-02 16:19:55 -04:00
option.rs Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
panic.rs Distinguish between library and lang UB in assert_unsafe_precondition 2024-03-08 18:53:58 -05:00
panicking.rs core/panicking: fix outdated comment 2024-03-23 21:36:22 +01:00
pin.rs chore: fix some comments 2024-03-27 22:32:53 +08:00
primitive.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
primitive_docs.rs Use generic NonZero everywhere in core. 2024-02-22 15:17:33 +01:00
result.rs Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
time.rs Implement Duration::as_millis_{f64,f32} 2024-03-14 01:37:12 +03:00
tuple.rs Rollup merge of #118307 - scottmcm:tuple-eq-simpler, r=joshtriplett 2024-02-11 08:25:41 +01:00
ub_checks.rs refactor check_{lang,library}_ub: use a single intrinsic, put policy into library 2024-03-23 18:45:05 +01:00
unit.rs Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00