Skip to content

Commit 4a8c18b

Browse files
committed
Create an internal new_generic constructor
1 parent cb0fc46 commit 4a8c18b

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/ptr.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,7 @@ where
140140
A: Access,
141141
{
142142
let _ = access;
143-
VolatilePtr {
144-
pointer,
145-
reference: PhantomData,
146-
access: PhantomData,
147-
}
143+
unsafe { Self::new_generic(pointer) }
148144
}
149145

150146
pub fn from_ref(reference: &'a T) -> VolatilePtr<'a, T, ReadOnly>
@@ -153,6 +149,14 @@ where
153149
{
154150
unsafe { VolatilePtr::new_restricted(ReadOnly, reference.into()) }
155151
}
152+
153+
const unsafe fn new_generic<A>(pointer: NonNull<T>) -> VolatilePtr<'a, T, A> {
154+
VolatilePtr {
155+
pointer,
156+
reference: PhantomData,
157+
access: PhantomData,
158+
}
159+
}
156160
}
157161

158162
impl<'a, T, A> VolatilePtr<'a, T, A>

0 commit comments

Comments
 (0)