文字列専用じゃないけどarena系の実装でいいのかな
typed_arena(https://docs.rs/typed-arena/latest/typed_arena/index.html)がよく使われてるみたい

use typed_arena::Arena;

fn main() {
let arena = Arena::new();
let a: &mut str = arena.alloc_str("abc");
let b: &mut str = arena.alloc_str("def");
let c: &str = arena.alloc_str("ghi");
println!("{a}, {b}, {c}"); // abc, def, ghi

a.make_ascii_uppercase();
b.make_ascii_uppercase();
let d: &str = arena.alloc_str("jkl");
println!("{a}, {b}, {c}, {d}"); // ABC, DEF, ghi, jkl
}