rust/library/core/tests
bors 9fed13030c Auto merge of #94954 - SimonSapin:null-thin3, r=yaahc
Extend ptr::null and null_mut to all thin (including extern) types

Fixes https://github.com/rust-lang/rust/issues/93959

This change was accepted in https://rust-lang.github.io/rfcs/2580-ptr-meta.html

Note that this changes the signature of **stable** functions. The change should be backward-compatible, but it is **insta-stable** since it cannot (easily, at all?) be made available only through a `#![feature(…)]` opt-in.

The RFC also proposed the same change for `NonNull::dangling`, which makes sense it terms of its signature but not in terms of its implementation. `dangling` uses `align_of()` as an address. But what `align_of()` should be for extern types or whether it should be allowed at all remains an open question.

This commit depends on https://github.com/rust-lang/rust/pull/93977, which is not yet part of the bootstrap compiler. So `#[cfg]` is used to only apply the change in stage 1+. As far a I know bounds cannot be made conditional with `#[cfg]`, so the entire functions are duplicated. This is unfortunate but temporary.

Since this duplication makes it less obvious in the diff, the new definitions differ in:

* More permissive bounds (`Thin` instead of implied `Sized`)
* Different implementation
* Having `rustc_allow_const_fn_unstable(const_fn_trait_bound)`
* Having `rustc_allow_const_fn_unstable(ptr_metadata)`
2022-05-25 13:58:51 +00:00
..
fmt Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
hash Add a dedicated length-prefixing method to Hasher 2022-05-06 00:03:38 -07:00
iter Rollup merge of #94115 - scottmcm:iter-process-by-ref, r=yaahc 2022-03-18 21:50:44 +01:00
num Update int_roundings methods from feedback 2022-05-04 23:20:29 -04:00
ops Expand the docs for ops::ControlFlow a bit 2021-02-06 22:36:05 -08:00
alloc.rs fix Layout struct member naming style 2022-04-11 13:35:18 +08:00
any.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
array.rs Stabilize core::array::from_fn 2022-05-20 11:04:13 -03:00
ascii.rs Add #[must_use] to expensive computations 2021-10-12 23:27:17 -04:00
asserting.rs [RFC 2011] Library code 2022-05-22 07:18:32 -03:00
atomic.rs Make more From impls const 2021-10-18 19:19:28 +09:00
bool.rs Constify bool::then{,_some} 2021-12-15 00:11:23 +08:00
cell.rs Fix Display for cell::{Ref,RefMut} 2022-05-20 11:16:30 -07:00
char.rs Debug print char 0 as '\0' rather than '\u{0}' 2022-03-27 04:49:10 -07:00
clone.rs Fix borrow and deref 2021-03-03 11:23:29 +01:00
cmp.rs Add test for StructuralEq for std::cmp::Ordering. 2022-03-16 14:01:48 -05:00
const_ptr.rs Revert "Revert tests added by PR 81167." 2021-06-27 12:05:17 +02:00
convert.rs Revert "Auto merge of #89450 - usbalbin:const_try_revert, r=oli-obk" 2021-12-12 12:34:59 +08:00
future.rs add tests 2022-02-02 23:07:02 +09:00
intrinsics.rs Switch bootstrap cfgs 2022-02-25 08:00:52 -05:00
lazy.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
lib.rs [RFC 2011] Library code 2022-05-22 07:18:32 -03:00
macros.rs Allow leading pipe in matches!() patterns. 2021-07-15 22:05:45 +03:00
manually_drop.rs Test ManuallyDrop::clone_from. 2021-07-05 11:55:45 +00:00
mem.rs add cfg_panic bootstrap 2022-02-10 22:10:08 +00:00
nonzero.rs Make From impls of NonZero integer const. 2021-10-20 12:04:58 +09:00
ops.rs Test not never 2021-11-21 19:10:39 -08:00
option.rs Constify (most) Option methods 2021-12-17 20:46:47 +08:00
pattern.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
pin.rs Make some methods of Pin<&mut T> unstable const 2020-09-18 19:23:50 +02:00
pin_macro.rs Write {ui,} tests for pin_macro and pin! 2022-02-14 16:56:37 +01:00
ptr.rs Extend ptr::null and null_mut to all thin (including extern) types 2022-05-13 18:03:06 +02:00
result.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
simd.rs Miri can run this test now 2022-03-03 14:54:18 -05:00
slice.rs Stage-step cfgs 2022-05-18 12:29:35 -04:00
str.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
str_lossy.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
task.rs Move const tests for Poll to library\core 2020-09-04 01:04:34 +02:00
time.rs Make Duration's Debug format pad to width 2021-09-16 03:09:31 +02:00
tuple.rs mv std libs to library/ 2020-07-27 19:51:13 -05:00
unicode.rs Make ui test that are run-pass and do not test the compiler itself library tests 2020-11-30 02:47:32 +01:00
waker.rs Implement data and vtable getters for RawWaker 2021-12-17 04:30:13 +08:00