Dereferencing
Dereferencing is the operation of following a pointer or reference to access the object or value it designates.
Refactoring to Rust
A pointer dereference is an operation that accesses the value stored at the memory address represented by a pointer.
- How it is used
- Enables reading buffer elements and writing results through raw pointers at a Rust–C boundary.
- How deep it goes
- Defines the operation and works through pointer arithmetic, unsafe blocks, and null checks; it does not establish that a null check proves validity.
- Examples
- Uses a byte vector read by offset and a C calculator whose Rust function writes through a solution out parameter.
- What you can do after
- Apply it via Rust raw pointers to read a bounded buffer and write a C out parameter while checking for null.
Rust in Action: Systems programming concepts and techniques
Dereferencing is the operation of accessing the value designated by a pointer or reference.
- How it is used
- Uses dereferencing to retrieve values through references, then to expose unsafe raw-pointer memory access.
- How deep it goes
- Explains address-based references and unary syntax, then demonstrates NULL-pointer and segmentation-fault failures.
- Examples
- Uses a large-array reference, an integer-array search, raw memory scans, and printed variable addresses.
- What you can do after
- Apply it via Rust syntax to read values through references and diagnose why invalid raw-pointer dereferences crash.
Read how Rust in Action: Systems programming concepts and techniques explains dereferencing →
Building User-Friendly DSLs
Obtaining the target object of a relation by following a direct object reference.
- How it is used
- Uses direct references to navigate relationships between AST objects during normal interactions.
- How deep it goes
- Defines direct dereferencing and contrasts it with ID resolution, deferring actual IDs until JSON serialization.
- Examples
- Demonstrates an attribute reference from rentalPriceAfterDiscountInitialValue to rentalPriceBeforeDiscountAttribute.
- What you can do after
- Apply it via JavaScript object references to obtain related AST objects without performing ID lookups.
Read how Building User-Friendly DSLs explains dereferencing →
Related concepts
- dotted notationimplemented by · Dotted notation is syntax that uses periods to access or invoke members, qualify names, or represent hierarchical paths.
- unsafe blockuses · An unsafe block is a Rust code region that permits operations whose safety requirements the compiler cannot verify and whose correctness requires programmer responsibility.
- mutable referenceuses · A mutable reference is a reference or handle through which the referenced value or storage location may be modified, subject to language-specific access rules.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


