以下内容仅用作示例,而不是有效的Rust代码。
struct Vec<T: Sized, Count> {
a: [T; Count]
}
在C ++模板中可能有类似的东西,但我还没有在Rust中看到它。
此功能尚不可用。 RFC 2000 — const generics将在实施时支持它并在issue #44580中跟踪进度。
在夜间Rust中,您的示例如下所示:
#![feature(const_generics)]
struct Vec<T: Sized, const COUNT: usize> {
a: [T; COUNT],
}
如果你看一下Rust的设计,你会发现它首先解决了最困难的问题(内存安全,数据竞争免费),但是还有许多领域是“不完整的”(与可能的相比)实现)。
特别是,今天的通用结构和功能有些限制:
目前,这些都没有实施,不是因为它们不是被期望的,而仅仅是因为缺乏时间。 Rust 1.0的想法不是发布一个不会发展的最终产品,而是一个稳定的基础,从此开始;一些或许所有人都会来。
在等待Rust获得对此的一流支持时,有一些板条箱提供某些级别的此功能,例如: