Matthias Krüger
4d840a6e45
Rollup merge of #91823 - woppopo:const_ptr_as_ref, r=lcnr
Make `PTR::as_ref` and similar methods `const`.
Tracking issue: #91822
Feature gate: `#![feature(const_ptr_as_ref)]`
```rust
// core::ptr
impl<T: ?Sized> *const T {
pub const unsafe fn as_ref<'a>(self) -> Option<&'a T>;
pub const unsafe fn as_uninit_ref<'a>(self) -> Option<&'a MaybeUninit<T>>
where
T: Sized;
pub const unsafe fn as_uninit_slice<'a>(self) -> Option<&'a [MaybeUninit<T>]>;
}
impl<T: ?Sized> *mut T {
pub const unsafe fn as_ref<'a>(self) -> Option<&'a T>;
pub const unsafe fn as_uninit_ref<'a>(self) -> Option<&'a MaybeUninit<T>>
where
T: Sized;
pub const unsafe fn as_mut<'a>(self) -> Option<&'a mut T>;
pub const unsafe fn as_uninit_mut<'a>(self) -> Option<&'a mut MaybeUninit<T>>
where
T: Sized;
pub const unsafe fn as_uninit_slice<'a>(self) -> Option<&'a [MaybeUninit<T>]>;
pub const unsafe fn as_uninit_slice_mut<'a>(self) -> Option<&'a mut [MaybeUninit<T>]>;
}
impl<T: Sized> NonNull<T> {
pub const unsafe fn as_uninit_ref<'a>(&self) -> &'a MaybeUninit<T>;
pub const unsafe fn as_uninit_mut<'a>(&mut self) -> &'a mut MaybeUninit<T>;
}
impl<T: ?Sized> NonNull<T> {
pub const unsafe fn as_ref<'a>(&self) -> &'a T;
pub const unsafe fn as_mut<'a>(&mut self) -> &'a mut T;
pub const unsafe fn as_uninit_slice<'a>(&self) -> &'a [MaybeUninit<T>];
pub const unsafe fn as_uninit_slice_mut<'a>(&self) -> &'a mut [MaybeUninit<T>];
}
```
2021-12-21 08:33:40 +01:00
..
2021-12-19 21:08:19 +01:00
2021-12-21 08:33:40 +01:00
2021-12-12 11:20:03 +00:00
2021-12-14 16:40:43 +01:00
2021-12-17 15:10:53 +08:00
2021-12-14 16:42:16 +05:30
2021-12-21 08:33:37 +01:00
2021-12-15 10:22:03 +08:00
2021-11-30 02:42:35 +00:00