workflow_perf_monitor/utils/ptr_upgrade.rs
1use std::num::NonZeroIsize;
2
3/// Triage a return value of windows handle to `Some(handle)` or `None`
4pub trait HandleUpgrade: Sized {
5 fn upgrade(self) -> Option<NonZeroIsize>;
6}
7
8impl HandleUpgrade for isize {
9 #[inline]
10 fn upgrade(self) -> Option<NonZeroIsize> {
11 NonZeroIsize::new(self)
12 }
13}