Skip to content

Commit e684ff1

Browse files
committed
documentation fixes
1 parent 43df98e commit e684ff1

File tree

4 files changed

+31
-24
lines changed

4 files changed

+31
-24
lines changed

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
#cargo-features = ["rust-version"]
22

33
[package]
4-
name = "deferred_reference"
5-
version = "0.1.0"
4+
name = "deferred-reference"
5+
version = "0.1.1"
66
authors = ["Pointerbender"]
77
#rust-version = "1.51.0"
88
edition = "2018"
99
license = "MIT"
1010
description = "A deferred reference is not an actual reference, it is merely a smart pointer tied to the lifetime of the location it points to."
11-
keywords = ["deferred", "reference", "pointer", "lifetime", "unsafecell"]
11+
keywords = ["deferred", "reference", "pointer", "lifetime", "borrow"]
1212
categories = ["concurrency", "data-structures", "memory-management", "no-std", "rust-patterns"]
13-
homepage = "https://github.com/Pointerbender/deferred_reference#readme"
14-
repository = "https://github.com/Pointerbender/deferred_reference"
15-
documentation = "https://docs.rs/deferred_reference"
13+
homepage = "https://github.com/Pointerbender/deferred-reference#readme"
14+
repository = "https://github.com/Pointerbender/deferred-reference"
15+
documentation = "https://docs.rs/deferred-reference"
1616
readme = "README.md"
1717

1818
[features]

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ If you're on nightly Rust, add the following dependency to your `Cargo.toml`:
2020

2121
```toml
2222
[dependencies]
23-
deferred_reference = { version = "0.1.0" }
23+
deferred-reference = { version = "0.1.1" }
2424
```
2525

2626
This crate uses some unstable features, but it also works on stable Rust with less features.
2727
For using this crate in stable Rust you need to disable the unstable nightly features using the `default-features` flag, like so:
2828

2929
```toml
3030
[dependencies]
31-
deferred_reference = { version = "0.1.0", default-features = false }
31+
deferred-reference = { version = "0.1.1", default-features = false }
3232
```
3333

34-
Please see the [documentation for this crate](https://docs.rs/deferred_reference) on how to get started with some concrete code examples.
34+
Please see the [documentation for this crate](https://docs.rs/deferred-reference) on how to get started with some concrete code examples.
3535

3636
## `#![no_std]` environments
3737
This crate is entirely `#![no_std]` and does not depend on the `alloc` crate. No additional `Cargo.toml` features need to be configured

src/defer_mut.rs

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,17 @@ use super::{Defer, Deferred};
1616
///
1717
/// # Example
1818
/// ```
19-
/// #[macro_use] extern crate deferred_reference;
19+
/// #[macro_use]
20+
/// extern crate deferred_reference;
2021
/// use deferred_reference::Deferred;
21-
/// let mut buffer = [0u8; 1024];
22-
/// let deferred: Deferred<&mut [u8]> = unsafe { defer_mut!(buffer) };
23-
/// assert_eq!(buffer[0], deferred[0]);
24-
/// // works also for references to arrays:
25-
/// let deferred: Deferred<&mut [u8; 1024]> = unsafe { defer_mut!(buffer) };
26-
/// assert_eq!(buffer[0], deferred[0]);
22+
/// fn main() {
23+
/// let mut buffer = [0u8; 1024];
24+
/// let deferred: Deferred<&mut [u8]> = unsafe { defer_mut!(buffer) };
25+
/// assert_eq!(buffer[0], deferred[0]);
26+
/// // works also for references to arrays:
27+
/// let deferred: Deferred<&mut [u8; 1024]> = unsafe { defer_mut!(buffer) };
28+
/// assert_eq!(buffer[0], deferred[0]);
29+
/// }
2730
/// ```
2831
///
2932
/// # Safety
@@ -42,14 +45,17 @@ use super::{Defer, Deferred};
4245
///
4346
/// Here is an example that will trigger undefined behavior, in order to illustrate how unsafe this macro is:
4447
/// ```no_run
45-
/// #[macro_use] extern crate deferred_reference;
46-
/// let mut buffer = [0u8; 1024];
47-
/// let deferred = unsafe { defer_mut!(buffer) };
48-
/// buffer[0] = 42; // this implicitly creates a temporary mutable reference to all of `buffer`
49-
/// // `deferred` is now invalidated !!!
50-
/// // therefore dereferencing `deferred` is undefined behavior, even though
51-
/// // the lifetimes of the immutable and mutable references don't overlap:
52-
/// assert_eq!(buffer[0], deferred[0]); // undefined behavior!!!
48+
/// #[macro_use]
49+
/// extern crate deferred_reference;
50+
/// fn main() {
51+
/// let mut buffer = [0u8; 1024];
52+
/// let deferred = unsafe { defer_mut!(buffer) };
53+
/// buffer[0] = 42; // implicitly creates a temporary mutable reference to all of `buffer`
54+
/// // `deferred` is now invalidated !!!
55+
/// // therefore dereferencing `deferred` is undefined behavior, even though
56+
/// // the lifetimes of the immutable and mutable references don't overlap:
57+
/// assert_eq!(buffer[0], deferred[0]); // undefined behavior!!!
58+
/// }
5359
/// ```
5460
///
5561
/// # Caveat

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
//! period of time).
118118
119119
#![no_std]
120+
#![doc(html_root_url = "https://docs.rs/deferred-reference/0.1.1")]
120121
// the `slice_ptr_len` feature is needed for deferred references to slices
121122
#![cfg_attr(feature = "slice_ptr_len", feature(slice_ptr_len))]
122123
// experimental: the `coerce_unsized` feature is need to unsize the reference

0 commit comments

Comments
 (0)