我正试图构建一个自定义的类似String
结构的小字符串优化实现。现在,工会被允许在稳定的锈,我想出了下面的代码:如何在稳定的Rust中分配一个原始的可变指针?
struct Large {
capacity: usize,
buffer: *mut u8,
}
struct Small([u8; 16]);
union Container {
large: Large,
small: Small,
}
struct MyString {
len: usize,
container: Container,
}
我似乎无法找到一种方法如何分配该*mut u8
。是否有可能在稳定的铁锈?它看起来像使用alloc::heap
会工作,但它只在夜间可用。
FWIW,'String'本身不能使用SSO,因为它暴露了某些方法。您将无法复制完整的API,但希望这不会阻止您的用例。 – Shepmaster