From 17576104e5cd2c0ed2edeb6e86080a64d1727836 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Fri, 7 Jan 2022 16:35:53 -0800 Subject: [PATCH] mention targeting --- utils/yoke/design_doc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/yoke/design_doc.md b/utils/yoke/design_doc.md index 0f8497f414e..47ea9ec0abe 100644 --- a/utils/yoke/design_doc.md +++ b/utils/yoke/design_doc.md @@ -1,4 +1,4 @@ -# Yoke: "Lifetime Erasure" in Rust +# Yoke: Targeted Lifetime Erasure in Rust ## Problem statement @@ -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