rust 是否有启动ThinBox〈[T]>的方法?

tf7tbtn2  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(110)

我最近一直在尝试一些实验性的特性,并在我正在构建的库中使用它们。我试图通过使用ThinBox〈[T]〉将内容存储在固定长度的数组中来减少枚举的大小,而不需要在代码中进行整个const泛型的单形态化(因为我需要在以后将其存储在枚举中,并且不希望在枚举级别上有const泛型)。
我得到的最接近解决方案的是ThinBox一个固定大小的数组.(它强制到一个切片).虽然它在技术上确实在类型级别上修复了const泛型的问题,但我希望找到一个不需要我将const泛型输入到函数中的解决方案(因为它的灵活性要小得多).我也不希望以ThinBox〈&[T]〉结束,因为那是两个间接级别.
有没有一种方法,不管是安全的还是不安全的,都可以初始化一个ThinBox〈[T]〉,而不需要直接攻击编译器?

l2osamch

l2osamch1#

可以像这样使用ThinBox::new_unsize

ThinBox::<[T]>::new_unsize([/* your array */])

相关问题