我正試圖構建一個自定義的類似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