请注意,这个切片是没有大小限制的。我可以接受进行内存分配/复制,或者转移所有权。
我知道要创建一个简单的`Rc<[u8]>`,可以使用`Rc::from(Vec::into_boxed_slice(Vec::from(x)))`,但是这种方法在添加了`RefCell`后不起作用。我注意到`RefCell`允许`T: ?Sized`,但实际上很难构造一个包含无大小限制类型的RefCell。
我知道要创建一个简单的`Rc<[u8]>`,可以使用`Rc::from(Vec::into_boxed_slice(Vec::from(x)))`,但是这种方法在添加了`RefCell`后不起作用。我注意到`RefCell`允许`T: ?Sized`,但实际上很难构造一个包含无大小限制类型的RefCell。
Vec<u8>
和Box<[u8]>
,Rc<[u8]>
直接实现了From<&[u8]>
。 - undefined