mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-26 22:53:28 +00:00
Add #[must_use] to as_type conversions
This commit is contained in:
parent
86d6d2b738
commit
06e625f7d5
@ -1007,6 +1007,7 @@ impl<T> BinaryHeap<T> {
|
||||
///
|
||||
/// io::sink().write(heap.as_slice()).unwrap();
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[unstable(feature = "binary_heap_as_slice", issue = "83659")]
|
||||
pub fn as_slice(&self) -> &[T] {
|
||||
self.data.as_slice()
|
||||
|
@ -1384,6 +1384,7 @@ impl<'a, T> CursorMut<'a, T> {
|
||||
/// The lifetime of the returned `Cursor` is bound to that of the
|
||||
/// `CursorMut`, which means it cannot outlive the `CursorMut` and that the
|
||||
/// `CursorMut` is frozen for the lifetime of the `Cursor`.
|
||||
#[must_use]
|
||||
#[unstable(feature = "linked_list_cursors", issue = "58533")]
|
||||
pub fn as_cursor(&self) -> Cursor<'_, T> {
|
||||
Cursor { list: self.list, current: self.current, index: self.index }
|
||||
|
@ -2087,6 +2087,7 @@ impl<T: ?Sized> Weak<T> {
|
||||
/// ```
|
||||
///
|
||||
/// [`null`]: ptr::null
|
||||
#[must_use]
|
||||
#[stable(feature = "rc_as_ptr", since = "1.45.0")]
|
||||
pub fn as_ptr(&self) -> *const T {
|
||||
let ptr: *mut RcBox<T> = NonNull::as_ptr(self.ptr);
|
||||
|
@ -800,6 +800,7 @@ impl String {
|
||||
/// assert_eq!("foo", s.as_str());
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "string_as_str", since = "1.7.0")]
|
||||
pub fn as_str(&self) -> &str {
|
||||
self
|
||||
@ -820,6 +821,7 @@ impl String {
|
||||
/// assert_eq!("FOOBAR", s_mut_str);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "string_as_str", since = "1.7.0")]
|
||||
pub fn as_mut_str(&mut self) -> &mut str {
|
||||
self
|
||||
@ -1160,6 +1162,7 @@ impl String {
|
||||
/// assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn as_bytes(&self) -> &[u8] {
|
||||
&self.vec
|
||||
@ -1763,6 +1766,7 @@ impl FromUtf8Error {
|
||||
///
|
||||
/// assert_eq!(&[0, 159], value.unwrap_err().as_bytes());
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "from_utf8_error_as_bytes", since = "1.26.0")]
|
||||
pub fn as_bytes(&self) -> &[u8] {
|
||||
&self.bytes[..]
|
||||
@ -2779,6 +2783,7 @@ impl<'a> Drain<'a> {
|
||||
/// let _ = drain.next().unwrap();
|
||||
/// assert_eq!(drain.as_str(), "bc");
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "string_drain_as_str", since = "1.55.0")]
|
||||
pub fn as_str(&self) -> &str {
|
||||
self.iter.as_str()
|
||||
|
@ -822,6 +822,7 @@ impl<T: ?Sized> Arc<T> {
|
||||
/// assert_eq!(x_ptr, Arc::as_ptr(&y));
|
||||
/// assert_eq!(unsafe { &*x_ptr }, "hello");
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rc_as_ptr", since = "1.45.0")]
|
||||
pub fn as_ptr(this: &Self) -> *const T {
|
||||
let ptr: *mut ArcInner<T> = NonNull::as_ptr(this.ptr);
|
||||
@ -1718,6 +1719,7 @@ impl<T: ?Sized> Weak<T> {
|
||||
/// ```
|
||||
///
|
||||
/// [`null`]: core::ptr::null "ptr::null"
|
||||
#[must_use]
|
||||
#[stable(feature = "weak_into_raw", since = "1.45.0")]
|
||||
pub fn as_ptr(&self) -> *const T {
|
||||
let ptr: *mut ArcInner<T> = NonNull::as_ptr(self.ptr);
|
||||
|
@ -52,6 +52,7 @@ impl<'a, T, A: Allocator> Drain<'a, T, A> {
|
||||
/// let _ = drain.next().unwrap();
|
||||
/// assert_eq!(drain.as_slice(), &['b', 'c']);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "vec_drain_as_slice", since = "1.46.0")]
|
||||
pub fn as_slice(&self) -> &[T] {
|
||||
self.iter.as_slice()
|
||||
|
@ -491,6 +491,7 @@ impl<'a> Arguments<'a> {
|
||||
/// ```
|
||||
#[stable(feature = "fmt_as_str", since = "1.52.0")]
|
||||
#[rustc_const_unstable(feature = "const_arguments_as_str", issue = "none")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_str(&self) -> Option<&'static str> {
|
||||
match (self.pieces, self.args) {
|
||||
|
@ -657,6 +657,7 @@ impl<T> Option<T> {
|
||||
///
|
||||
/// [&]: reference "shared reference"
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "pin", since = "1.33.0")]
|
||||
pub fn as_pin_ref(self: Pin<&Self>) -> Option<Pin<&T>> {
|
||||
// SAFETY: `x` is guaranteed to be pinned because it comes from `self`
|
||||
@ -668,6 +669,7 @@ impl<T> Option<T> {
|
||||
///
|
||||
/// [&mut]: reference "mutable reference"
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "pin", since = "1.33.0")]
|
||||
pub fn as_pin_mut(self: Pin<&mut Self>) -> Option<Pin<&mut T>> {
|
||||
// SAFETY: `get_unchecked_mut` is never used to move the `Option` inside `self`.
|
||||
|
@ -119,6 +119,7 @@ impl<T: Sized> NonNull<T> {
|
||||
///
|
||||
/// [the module documentation]: crate::ptr#safety
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||
pub unsafe fn as_uninit_ref<'a>(&self) -> &'a MaybeUninit<T> {
|
||||
// SAFETY: the caller must guarantee that `self` meets all the
|
||||
@ -151,6 +152,7 @@ impl<T: Sized> NonNull<T> {
|
||||
///
|
||||
/// [the module documentation]: crate::ptr#safety
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||
pub unsafe fn as_uninit_mut<'a>(&mut self) -> &'a mut MaybeUninit<T> {
|
||||
// SAFETY: the caller must guarantee that `self` meets all the
|
||||
@ -264,6 +266,7 @@ impl<T: ?Sized> NonNull<T> {
|
||||
/// ```
|
||||
#[stable(feature = "nonnull", since = "1.25.0")]
|
||||
#[rustc_const_stable(feature = "const_nonnull_as_ptr", since = "1.32.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_ptr(self) -> *mut T {
|
||||
self.pointer as *mut T
|
||||
@ -310,6 +313,7 @@ impl<T: ?Sized> NonNull<T> {
|
||||
///
|
||||
/// [the module documentation]: crate::ptr#safety
|
||||
#[stable(feature = "nonnull", since = "1.25.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub unsafe fn as_ref<'a>(&self) -> &'a T {
|
||||
// SAFETY: the caller must guarantee that `self` meets all the
|
||||
@ -359,6 +363,7 @@ impl<T: ?Sized> NonNull<T> {
|
||||
///
|
||||
/// [the module documentation]: crate::ptr#safety
|
||||
#[stable(feature = "nonnull", since = "1.25.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub unsafe fn as_mut<'a>(&mut self) -> &'a mut T {
|
||||
// SAFETY: the caller must guarantee that `self` meets all the
|
||||
@ -455,6 +460,7 @@ impl<T> NonNull<[T]> {
|
||||
/// assert_eq!(slice.as_non_null_ptr(), NonNull::new(1 as *mut i8).unwrap());
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "slice_ptr_get", issue = "74265")]
|
||||
#[rustc_const_unstable(feature = "slice_ptr_get", issue = "74265")]
|
||||
pub const fn as_non_null_ptr(self) -> NonNull<T> {
|
||||
@ -474,6 +480,7 @@ impl<T> NonNull<[T]> {
|
||||
/// assert_eq!(slice.as_mut_ptr(), 1 as *mut i8);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "slice_ptr_get", issue = "74265")]
|
||||
#[rustc_const_unstable(feature = "slice_ptr_get", issue = "74265")]
|
||||
pub const fn as_mut_ptr(self) -> *mut T {
|
||||
@ -518,6 +525,7 @@ impl<T> NonNull<[T]> {
|
||||
///
|
||||
/// [valid]: crate::ptr#safety
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||
pub unsafe fn as_uninit_slice<'a>(&self) -> &'a [MaybeUninit<T>] {
|
||||
// SAFETY: the caller must uphold the safety contract for `as_uninit_slice`.
|
||||
@ -579,6 +587,7 @@ impl<T> NonNull<[T]> {
|
||||
/// # Ok::<_, std::alloc::AllocError>(())
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "ptr_as_uninit", issue = "75402")]
|
||||
pub unsafe fn as_uninit_slice_mut<'a>(&self) -> &'a mut [MaybeUninit<T>] {
|
||||
// SAFETY: the caller must uphold the safety contract for `as_uninit_slice_mut`.
|
||||
|
@ -112,6 +112,7 @@ impl<T: ?Sized> Unique<T> {
|
||||
/// The resulting lifetime is bound to self so this behaves "as if"
|
||||
/// it were actually an instance of T that is getting borrowed. If a longer
|
||||
/// (unbound) lifetime is needed, use `&*my_ptr.as_ptr()`.
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub unsafe fn as_ref(&self) -> &T {
|
||||
// SAFETY: the caller must guarantee that `self` meets all the
|
||||
@ -124,6 +125,7 @@ impl<T: ?Sized> Unique<T> {
|
||||
/// The resulting lifetime is bound to self so this behaves "as if"
|
||||
/// it were actually an instance of T that is getting borrowed. If a longer
|
||||
/// (unbound) lifetime is needed, use `&mut *my_ptr.as_ptr()`.
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub unsafe fn as_mut(&mut self) -> &mut T {
|
||||
// SAFETY: the caller must guarantee that `self` meets all the
|
||||
|
@ -124,6 +124,7 @@ impl<'a, T> Iter<'a, T> {
|
||||
/// // Now `as_slice` returns "[2, 3]":
|
||||
/// println!("{:?}", iter.as_slice());
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "iter_to_slice", since = "1.4.0")]
|
||||
pub fn as_slice(&self) -> &'a [T] {
|
||||
self.make_slice()
|
||||
@ -298,6 +299,7 @@ impl<'a, T> IterMut<'a, T> {
|
||||
/// // Now `as_slice` returns "[2, 3]":
|
||||
/// assert_eq!(iter.as_slice(), &[2, 3]);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "slice_iter_mut_as_slice", since = "1.53.0")]
|
||||
pub fn as_slice(&self) -> &[T] {
|
||||
self.make_slice()
|
||||
|
@ -109,6 +109,7 @@ impl<'a> Chars<'a> {
|
||||
/// assert_eq!(chars.as_str(), "");
|
||||
/// ```
|
||||
#[stable(feature = "iter_to_slice", since = "1.4.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_str(&self) -> &'a str {
|
||||
// SAFETY: `Chars` is only made from a str, which guarantees the iter is valid UTF-8.
|
||||
@ -185,6 +186,7 @@ impl<'a> CharIndices<'a> {
|
||||
/// This has the same lifetime as the original slice, and so the
|
||||
/// iterator can continue to be used while this exists.
|
||||
#[stable(feature = "iter_to_slice", since = "1.4.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_str(&self) -> &'a str {
|
||||
self.iter.as_str()
|
||||
@ -1247,6 +1249,7 @@ impl<'a> SplitWhitespace<'a> {
|
||||
/// assert_eq!(split.as_str(), "");
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "str_split_whitespace_as_str", issue = "77998")]
|
||||
pub fn as_str(&self) -> &'a str {
|
||||
self.inner.iter.as_str()
|
||||
@ -1302,6 +1305,7 @@ impl<'a> SplitAsciiWhitespace<'a> {
|
||||
/// assert_eq!(split.as_str(), "");
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[unstable(feature = "str_split_whitespace_as_str", issue = "77998")]
|
||||
pub fn as_str(&self) -> &'a str {
|
||||
if self.inner.iter.iter.finished {
|
||||
|
@ -230,6 +230,7 @@ impl str {
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "str_as_bytes", since = "1.39.0")]
|
||||
#[must_use]
|
||||
#[inline(always)]
|
||||
#[allow(unused_attributes)]
|
||||
pub const fn as_bytes(&self) -> &[u8] {
|
||||
@ -274,6 +275,7 @@ impl str {
|
||||
/// assert_eq!("🍔∈🌏", s);
|
||||
/// ```
|
||||
#[stable(feature = "str_mut_extras", since = "1.20.0")]
|
||||
#[must_use]
|
||||
#[inline(always)]
|
||||
pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8] {
|
||||
// SAFETY: the cast from `&str` to `&[u8]` is safe since `str`
|
||||
@ -304,6 +306,7 @@ impl str {
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "rustc_str_as_ptr", since = "1.32.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_ptr(&self) -> *const u8 {
|
||||
self as *const str as *const u8
|
||||
@ -318,6 +321,7 @@ impl str {
|
||||
/// It is your responsibility to make sure that the string slice only gets
|
||||
/// modified in a way that it remains valid UTF-8.
|
||||
#[stable(feature = "str_as_mut_ptr", since = "1.36.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_mut_ptr(&mut self) -> *mut u8 {
|
||||
self as *mut str as *mut u8
|
||||
|
@ -329,6 +329,7 @@ impl Duration {
|
||||
/// [`subsec_nanos`]: Duration::subsec_nanos
|
||||
#[stable(feature = "duration", since = "1.3.0")]
|
||||
#[rustc_const_stable(feature = "duration", since = "1.32.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_secs(&self) -> u64 {
|
||||
self.secs
|
||||
@ -412,6 +413,7 @@ impl Duration {
|
||||
/// ```
|
||||
#[stable(feature = "duration_as_u128", since = "1.33.0")]
|
||||
#[rustc_const_stable(feature = "duration_as_u128", since = "1.33.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_millis(&self) -> u128 {
|
||||
self.secs as u128 * MILLIS_PER_SEC as u128 + (self.nanos / NANOS_PER_MILLI) as u128
|
||||
@ -429,6 +431,7 @@ impl Duration {
|
||||
/// ```
|
||||
#[stable(feature = "duration_as_u128", since = "1.33.0")]
|
||||
#[rustc_const_stable(feature = "duration_as_u128", since = "1.33.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_micros(&self) -> u128 {
|
||||
self.secs as u128 * MICROS_PER_SEC as u128 + (self.nanos / NANOS_PER_MICRO) as u128
|
||||
@ -446,6 +449,7 @@ impl Duration {
|
||||
/// ```
|
||||
#[stable(feature = "duration_as_u128", since = "1.33.0")]
|
||||
#[rustc_const_stable(feature = "duration_as_u128", since = "1.33.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub const fn as_nanos(&self) -> u128 {
|
||||
self.secs as u128 * NANOS_PER_SEC as u128 + self.nanos as u128
|
||||
@ -669,6 +673,7 @@ impl Duration {
|
||||
/// assert_eq!(dur.as_secs_f64(), 2.7);
|
||||
/// ```
|
||||
#[stable(feature = "duration_float", since = "1.38.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
#[rustc_const_unstable(feature = "duration_consts_2", issue = "72440")]
|
||||
pub const fn as_secs_f64(&self) -> f64 {
|
||||
@ -687,6 +692,7 @@ impl Duration {
|
||||
/// assert_eq!(dur.as_secs_f32(), 2.7);
|
||||
/// ```
|
||||
#[stable(feature = "duration_float", since = "1.38.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
#[rustc_const_unstable(feature = "duration_consts_2", issue = "72440")]
|
||||
pub const fn as_secs_f32(&self) -> f32 {
|
||||
|
@ -297,6 +297,7 @@ impl FromVecWithNulError {
|
||||
///
|
||||
/// assert_eq!(&bytes[..], value.unwrap_err().as_bytes());
|
||||
/// ```
|
||||
#[must_use]
|
||||
pub fn as_bytes(&self) -> &[u8] {
|
||||
&self.bytes[..]
|
||||
}
|
||||
@ -616,6 +617,7 @@ impl CString {
|
||||
/// assert_eq!(bytes, &[b'f', b'o', b'o']);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn as_bytes(&self) -> &[u8] {
|
||||
// SAFETY: CString has a length at least 1
|
||||
@ -635,6 +637,7 @@ impl CString {
|
||||
/// assert_eq!(bytes, &[b'f', b'o', b'o', b'\0']);
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn as_bytes_with_nul(&self) -> &[u8] {
|
||||
&self.inner
|
||||
@ -653,6 +656,7 @@ impl CString {
|
||||
/// CStr::from_bytes_with_nul(b"foo\0").expect("CStr::from_bytes_with_nul failed"));
|
||||
/// ```
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "as_c_str", since = "1.20.0")]
|
||||
pub fn as_c_str(&self) -> &CStr {
|
||||
&*self
|
||||
@ -1308,6 +1312,7 @@ impl CStr {
|
||||
/// This way, the lifetime of the [`CString`] in `hello` encompasses
|
||||
/// the lifetime of `ptr` and the `unsafe` block.
|
||||
#[inline]
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_const_stable(feature = "const_str_as_ptr", since = "1.32.0")]
|
||||
pub const fn as_ptr(&self) -> *const c_char {
|
||||
|
@ -136,6 +136,7 @@ impl OsString {
|
||||
/// assert_eq!(os_string.as_os_str(), os_str);
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_os_str(&self) -> &OsStr {
|
||||
self
|
||||
|
@ -192,6 +192,7 @@ impl SocketAddr {
|
||||
/// }
|
||||
/// ```
|
||||
#[stable(feature = "unix_socket", since = "1.10.0")]
|
||||
#[must_use]
|
||||
pub fn as_pathname(&self) -> Option<&Path> {
|
||||
if let AddressKind::Pathname(path) = self.address() { Some(path) } else { None }
|
||||
}
|
||||
|
@ -427,6 +427,7 @@ impl<'a> PrefixComponent<'a> {
|
||||
|
||||
/// Returns the raw [`OsStr`] slice for this prefix.
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_os_str(&self) -> &'a OsStr {
|
||||
self.raw
|
||||
@ -676,6 +677,7 @@ impl<'a> Components<'a> {
|
||||
///
|
||||
/// assert_eq!(Path::new("foo/bar.txt"), components.as_path());
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn as_path(&self) -> &'a Path {
|
||||
let mut comps = self.clone();
|
||||
@ -821,6 +823,7 @@ impl<'a> Iter<'a> {
|
||||
/// assert_eq!(Path::new("foo/bar.txt"), iter.as_path());
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_path(&self) -> &'a Path {
|
||||
self.inner.as_path()
|
||||
@ -1186,6 +1189,7 @@ impl PathBuf {
|
||||
/// assert_eq!(Path::new("/test"), p.as_path());
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_path(&self) -> &Path {
|
||||
self
|
||||
@ -1921,6 +1925,7 @@ impl Path {
|
||||
/// assert_eq!(os_str, std::ffi::OsStr::new("foo.txt"));
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
pub fn as_os_str(&self) -> &OsStr {
|
||||
&self.inner
|
||||
|
@ -1031,6 +1031,7 @@ impl ThreadId {
|
||||
/// value is entirely opaque -- only equality testing is stable. Note that
|
||||
/// it is not guaranteed which values new threads will return, and this may
|
||||
/// change across Rust versions.
|
||||
#[must_use]
|
||||
#[unstable(feature = "thread_id_value", issue = "67939")]
|
||||
pub fn as_u64(&self) -> NonZeroU64 {
|
||||
self.0
|
||||
|
Loading…
Reference in New Issue
Block a user