Думаю о том, чтобы полностью отказаться от выделений в куче при чтении и записи
По идее, ты можешь сделать небольшую обертку над UnsafeCell, которая предоставляет методы with(f: impl FnOnce(&T) -> R) -> R with_mut(f: impl FnOnce(&mut T) -> R) -> R И она будет безопасная
По идее, ты можешь сделать небольшую обертку над UnsafeCell, которая предоставляет методы with(f: impl FnOnce(&T) -> R) -> R with_mut(f: impl FnOnce(&mut T) -> R) -> R И она будет безопасная
То есть пользователь указывает функцию, которая вызовется с этой ссылкой. Когда замыкание завершится, ссылки уже не будет, останутся только данные сделанные на основе этой ссылки.