Skip to content

Commit

Permalink
Ch. 20: correct text about how we got raw pointers
Browse files Browse the repository at this point in the history
We no longer get the raw pointers from references, although we *could*,
because we can now use the raw pointer operator rather than an `as` cast
and thus can get them directly from a variable in scope.
  • Loading branch information
chriskrycho committed Nov 6, 2024
1 parent 3fdb520 commit e934f31
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions src/ch20-01-unsafe-rust.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,9 @@ By opting out of having Rust enforce these guarantees, you can give up
guaranteed safety in exchange for greater performance or the ability to
interface with another language or hardware where Rust’s guarantees don’t apply.

Listing 20-1 shows how to create an immutable and a mutable raw pointer from
references.
Listing 20-1 shows how to create an immutable and a mutable raw pointer.

<Listing number="20-1" caption="Creating raw pointers from references">
<Listing number="20-1" caption="Creating raw pointers with the raw borrow operators">

```rust
{{#rustdoc_include ../listings/ch20-advanced-features/listing-20-01/src/main.rs:here}}
Expand All @@ -105,9 +104,9 @@ unsafe block, as you’ll see in a bit.

We’ve created raw pointers by using the raw borrow operators: `&raw const num`
creates a `*const i32` immutable raw pointer, and `&raw mut num` creates a `&mut
i32` mutable raw pointer. Because we created them directly from references
guaranteed to be valid, we know these particular raw pointers are valid, but we
can’t make that assumption about just any raw pointer.
i32` mutable raw pointer. Because we created them directly from a local
variable, we know these particular raw pointers are valid, but we can’t make
that assumption about just any raw pointer.

To demonstrate this, next we’ll create a raw pointer whose validity we can’t be
so certain of, using `as` to cast a value instead of using the raw reference
Expand Down

0 comments on commit e934f31

Please sign in to comment.