Skip to content

Commit

Permalink
mention targeting
Browse files Browse the repository at this point in the history
  • Loading branch information
Manishearth committed Jan 8, 2022
1 parent 60ec140 commit 1757610
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions utils/yoke/design_doc.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Yoke: "Lifetime Erasure" in Rust
# Yoke: Targeted Lifetime Erasure in Rust

## Problem statement

Expand All @@ -7,7 +7,7 @@ Zero-copy deserialization is a very effective way to speed up programs and avoid
1. All data types that contain zero-copy data, even indirectly, need to carry a lifetime parameter
2. Certain memory management techniques are hampered, like caching.

Similar to how `dyn` enables Rust programs to perform "type erasure": turning compile-time types into "erased" runtime ones, `Yoke` enables Rust programs to perform the analogous "lifetime erasure": turning compile-time lifetimes into "erased" runtime ones. This means we don't need lifetime parameters to track data ownership, and that we can carry reference-counted data that can be safely dropped from a cache.
Similar to how `dyn` enables Rust programs to perform "type erasure": turning compile-time types into "erased" runtime ones, `Yoke` enables Rust programs to perform the analogous "lifetime erasure": turning specific compile-time lifetimes into "erased" runtime ones. This means we don't need lifetime parameters to track data ownership, and that we can carry reference-counted data that can be safely dropped from a cache.

## Background

Expand Down

0 comments on commit 1757610

Please sign in to comment.