【发布时间】:2015-01-25 13:07:24
【问题描述】:
以下内容仅作为示例,并非有效的 Rust 代码。
struct Vec<T: Sized, Count> {
a: [T; Count]
}
类似的东西在 C++ 模板中是可能的,但我在 Rust 中没有见过。
【问题讨论】:
-
我不这么认为,但是it has been discussed before
标签: rust
以下内容仅作为示例,并非有效的 Rust 代码。
struct Vec<T: Sized, Count> {
a: [T; Count]
}
类似的东西在 C++ 模板中是可能的,但我在 Rust 中没有见过。
【问题讨论】:
标签: rust
使用const泛型:
struct Vec<T: Sized, const COUNT: usize> {
a: [T; COUNT],
}
RFC 2000 — const generics 介绍了对此的支持,并在issue #44580 中跟踪进度。
如果您查看 Rust 的设计,您会注意到它首先从解决最困难的问题(内存安全、无数据争用)开始,但除此之外还有很多“不完整”的领域(与可以实现什么)。
特别是,泛型结构和函数开始时有些受限:
目前,并非所有这些都已实施,不是因为它们不受欢迎,而仅仅是因为时间不够。 Rust 1.0 的想法不是发布一个不会进化的最终产品,而是一个稳定的基础。一些或可能全部都会来。
【讨论】:
在等待 Rust 获得对此的一流支持时,有一些 crate 提供了某些级别的此功能,例如:
【讨论】: