Skip to content

Commit 9c53163

Browse files
authored
Merge pull request #48 from mkroening/rustdoc-non_null
docs: remove unused `NonNull` imports
2 parents 47660af + dcc5af5 commit 9c53163

File tree

5 files changed

+21
-28
lines changed

5 files changed

+21
-28
lines changed

src/lib.rs

+3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
#![cfg_attr(feature = "very_unstable", feature(effects))]
4242
#![warn(missing_docs)]
4343
#![deny(unsafe_op_in_unsafe_fn)]
44+
#![doc(test(attr(deny(warnings))))]
45+
#![doc(test(attr(allow(dead_code))))]
46+
#![doc(test(attr(allow(unused_variables))))]
4447

4548
pub use volatile_ptr::VolatilePtr;
4649
pub use volatile_ref::VolatileRef;

src/volatile_ptr/macros.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66
///
77
/// ```
88
/// use volatile::{VolatilePtr, map_field};
9-
/// use core::ptr::NonNull;
109
///
1110
/// struct Example { field_1: u32, field_2: u8, }
1211
/// let mut value = Example { field_1: 15, field_2: 255 };
13-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
12+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
1413
///
1514
/// // construct a volatile reference to a field
1615
/// let field_2 = map_field!(volatile.field_2);
@@ -20,12 +19,11 @@
2019
/// Creating `VolatilePtr`s to unaligned field in packed structs is not allowed:
2120
/// ```compile_fail
2221
/// use volatile::{VolatilePtr, map_field};
23-
/// use core::ptr::NonNull;
2422
///
2523
/// #[repr(packed)]
2624
/// struct Example { field_1: u8, field_2: usize, }
2725
/// let mut value = Example { field_1: 15, field_2: 255 };
28-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
26+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
2927
///
3028
/// // Constructing a volatile reference to an unaligned field doesn't compile.
3129
/// let field_2 = map_field!(volatile.field_2);

src/volatile_ptr/operations.rs

+9-15
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,9 @@ where
100100
///
101101
/// ```rust
102102
/// use volatile::VolatilePtr;
103-
/// use core::ptr::NonNull;
104103
///
105104
/// let mut value = 42;
106-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
105+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
107106
/// volatile.write(50);
108107
///
109108
/// assert_eq!(volatile.read(), 50);
@@ -124,10 +123,9 @@ where
124123
///
125124
/// ```rust
126125
/// use volatile::VolatilePtr;
127-
/// use core::ptr::NonNull;
128126
///
129127
/// let mut value = 42;
130-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
128+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
131129
/// volatile.update(|val| val + 1);
132130
///
133131
/// assert_eq!(volatile.read(), 43);
@@ -148,10 +146,9 @@ where
148146
///
149147
/// ```
150148
/// use volatile::VolatilePtr;
151-
/// use core::ptr::NonNull;
152149
///
153150
/// let mut value = 42;
154-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
151+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
155152
/// volatile.write(50);
156153
/// let unwrapped: *mut i32 = volatile.as_raw_ptr().as_ptr();
157154
///
@@ -177,7 +174,7 @@ where
177174
///
178175
/// struct Example { field_1: u32, field_2: u8, }
179176
/// let mut value = Example { field_1: 15, field_2: 255 };
180-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
177+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
181178
///
182179
/// // construct a volatile pointer to a field
183180
/// let field_2 = unsafe { volatile.map(|ptr| NonNull::new(core::ptr::addr_of_mut!((*ptr.as_ptr()).field_2)).unwrap()) };
@@ -188,10 +185,9 @@ where
188185
///
189186
/// ```
190187
/// use volatile::VolatilePtr;
191-
/// use core::ptr::NonNull;
192188
///
193189
/// let mut value = 5;
194-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
190+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
195191
///
196192
/// // DON'T DO THIS:
197193
/// let mut readout = 0;
@@ -228,7 +224,7 @@ where
228224
/// use volatile::VolatilePtr;
229225
///
230226
/// let mut value: i16 = -4;
231-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
227+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
232228
///
233229
/// let read_only = volatile.restrict::<ReadOnly>();
234230
/// assert_eq!(read_only.read(), -4);
@@ -247,10 +243,9 @@ where
247243
///
248244
/// ```
249245
/// use volatile::VolatilePtr;
250-
/// use core::ptr::NonNull;
251246
///
252247
/// let mut value: i16 = -4;
253-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
248+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
254249
///
255250
/// let read_only = volatile.read_only();
256251
/// assert_eq!(read_only.read(), -4);
@@ -268,14 +263,13 @@ where
268263
///
269264
/// ```
270265
/// use volatile::{VolatilePtr, map_field};
271-
/// use core::ptr::NonNull;
272266
///
273267
/// struct Example { field_1: u32, field_2: u8, }
274268
/// let mut value = Example { field_1: 15, field_2: 255 };
275-
/// let mut volatile = unsafe { VolatilePtr::new((&mut value).into()) };
269+
/// let volatile = unsafe { VolatilePtr::new((&mut value).into()) };
276270
///
277271
/// // construct a volatile write-only pointer to `field_2`
278-
/// let mut field_2 = map_field!(volatile.field_2).write_only();
272+
/// let field_2 = map_field!(volatile.field_2).write_only();
279273
/// field_2.write(14);
280274
/// // field_2.read(); // compile-time error
281275
/// ```

src/volatile_ptr/unstable.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ impl<'a, T, A> VolatilePtr<'a, [T], A> {
155155
/// let mut dst = [0, 0];
156156
/// // the `Volatile` type does not work with arrays, so convert `dst` to a slice
157157
/// let slice = &mut dst[..];
158-
/// let mut volatile = unsafe { VolatilePtr::new(NonNull::from(slice)) };
158+
/// let volatile = unsafe { VolatilePtr::new(NonNull::from(slice)) };
159159
/// // Because the slices have to be the same length,
160160
/// // we slice the source slice from four elements
161161
/// // to two. It will panic if we don't do this.
@@ -212,8 +212,8 @@ impl<'a, T, A> VolatilePtr<'a, [T], A> {
212212
/// use core::ptr::NonNull;
213213
///
214214
/// let mut byte_array = *b"Hello, World!";
215-
/// let mut slice: &mut [u8] = &mut byte_array[..];
216-
/// let mut volatile = unsafe { VolatilePtr::new(NonNull::from(slice)) };
215+
/// let slice: &mut [u8] = &mut byte_array[..];
216+
/// let volatile = unsafe { VolatilePtr::new(NonNull::from(slice)) };
217217
/// volatile.copy_within(1..5, 8);
218218
///
219219
/// assert_eq!(&byte_array, b"Hello, Wello!");
@@ -347,7 +347,7 @@ impl<A> VolatilePtr<'_, [u8], A> {
347347
/// use core::ptr::NonNull;
348348
///
349349
/// let mut vec = vec![0; 10];
350-
/// let mut buf = unsafe { VolatilePtr::new(NonNull::from(vec.as_mut_slice())) };
350+
/// let buf = unsafe { VolatilePtr::new(NonNull::from(vec.as_mut_slice())) };
351351
/// buf.fill(1);
352352
/// assert_eq!(unsafe { buf.as_raw_ptr().as_mut() }, &mut vec![1; 10]);
353353
/// ```

src/volatile_ref.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ where
207207
/// use volatile::VolatileRef;
208208
///
209209
/// let mut value: i16 = -4;
210-
/// let mut volatile = VolatileRef::from_mut_ref(&mut value);
210+
/// let volatile = VolatileRef::from_mut_ref(&mut value);
211211
///
212212
/// let read_only = volatile.restrict::<ReadOnly>();
213213
/// assert_eq!(read_only.as_ptr().read(), -4);
@@ -226,10 +226,9 @@ where
226226
///
227227
/// ```
228228
/// use volatile::VolatileRef;
229-
/// use core::ptr::NonNull;
230229
///
231230
/// let mut value: i16 = -4;
232-
/// let mut volatile = VolatileRef::from_mut_ref(&mut value);
231+
/// let volatile = VolatileRef::from_mut_ref(&mut value);
233232
///
234233
/// let read_only = volatile.read_only();
235234
/// assert_eq!(read_only.as_ptr().read(), -4);
@@ -247,12 +246,11 @@ where
247246
///
248247
/// ```
249248
/// use volatile::{VolatileRef};
250-
/// use core::ptr::NonNull;
251249
///
252250
/// #[derive(Clone, Copy)]
253251
/// struct Example { field_1: u32, field_2: u8, }
254252
/// let mut value = Example { field_1: 15, field_2: 255 };
255-
/// let mut volatile = VolatileRef::from_mut_ref(&mut value);
253+
/// let volatile = VolatileRef::from_mut_ref(&mut value);
256254
///
257255
/// let write_only = volatile.write_only();
258256
/// // write_only.as_ptr().read(); // compile-time error

0 commit comments

Comments
 (0)