diff options
Diffstat (limited to 'vendor/proc-macro2/src/convert.rs')
-rw-r--r-- | vendor/proc-macro2/src/convert.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/proc-macro2/src/convert.rs b/vendor/proc-macro2/src/convert.rs new file mode 100644 index 000000000..afc5faf53 --- /dev/null +++ b/vendor/proc-macro2/src/convert.rs @@ -0,0 +1,19 @@ +pub(crate) fn usize_to_u32(u: usize) -> Option<u32> { + #[cfg(not(no_try_from))] + { + use core::convert::TryFrom; + + u32::try_from(u).ok() + } + + #[cfg(no_try_from)] + { + use core::mem; + + if mem::size_of::<usize>() <= mem::size_of::<u32>() || u <= u32::max_value() as usize { + Some(u as u32) + } else { + None + } + } +} |