Skip to content

Commit dc2b65c

Browse files
committed
Remove internal crate links from readme
1 parent 679e261 commit dc2b65c

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
Provides volatile wrapper types for raw pointers.
66

7-
The volatile wrapper types in this crate wrap a pointer to any [`Copy`]-able type and provide volatile memory access to wrapped value.
7+
The volatile wrapper types in this crate wrap a pointer to any `Copy`-able type and provide volatile memory access to wrapped value.
88
Volatile memory accesses are never optimized away by the compiler, and are useful in many low-level systems programming and concurrent contexts.
99

10-
This crate provides two different wrapper types: [`VolatilePtr`] and [`VolatileRef`].
10+
This crate provides two different wrapper types: `VolatilePtr` and `VolatileRef`.
1111
The difference between the two types is that the former behaves like a raw pointer, while the latter behaves like a Rust reference type.
1212
For example, `VolatilePtr` can be freely copied, but not sent across threads because this could introduce mutable aliasing.
1313
The `VolatileRef` type, on the other hand, requires exclusive access for mutation, so that sharing it across thread boundaries is safe.
@@ -17,7 +17,7 @@ Both wrapper types *do not* enforce any atomicity guarantees; to also get atomic
1717
## Why is there no `VolatileCell`?
1818

1919
Many people expressed interest in a `VolatileCell` type, i.e. a transparent wrapper type that owns the wrapped value.
20-
Such a type would be similar to [`core::cell::Cell`], with the difference that all methods are volatile.
20+
Such a type would be similar to `core::cell::Cell`, with the difference that all methods are volatile.
2121
Unfortunately, it is not sound to implement such a `VolatileCell` type in Rust.
2222
The reason is that Rust and LLVM consider `&` and `&mut` references as _dereferencable_.
2323
This means that the compiler is allowed to freely access the referenced value without any restrictions.

0 commit comments

Comments
 (0)