switch back to using a plain u32, not NonZeroU32

This reverts (part of) commit cb9a336ae2cf6a75fdcc130853286349cb424c96.
This commit is contained in:
Niko Matsakis 2018-09-06 13:21:35 -04:00
parent ec0ad09059
commit e5e72f6666

View File

@ -98,7 +98,7 @@ macro_rules! newtype_index {
@debug_format [$debug_format:tt]) => (
#[derive(Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, $($derives),*)]
$v struct $type {
private: ::std::num::NonZeroU32
private: u32
}
impl $type {
@ -142,7 +142,7 @@ macro_rules! newtype_index {
#[inline]
$v const unsafe fn from_u32_unchecked(value: u32) -> Self {
$type { private: ::std::num::NonZeroU32::new_unchecked(value + 1) }
$type { private: value }
}
/// Extract value of this index as an integer.
@ -153,13 +153,13 @@ macro_rules! newtype_index {
/// Extract value of this index as a usize.
#[inline]
$v fn as_u32(self) -> u32 {
self.private.get() - 1
$v const fn as_u32(self) -> u32 {
self.private
}
/// Extract value of this index as a u32.
#[inline]
$v fn as_usize(self) -> usize {
$v const fn as_usize(self) -> usize {
self.as_u32() as usize
}
}