【发布时间】:2014-07-01 18:06:13
【问题描述】:
http://doc.rust-lang.org/std/ 没有给出明确的答案,并且与其他原始类型不同,() 没有单独的页面。
看起来单元实现了与一般元组相同的特征:
克隆
部分均衡
情商
偏序
奥德
默认,
但同时单元在文档中的任何地方都与元组分开处理。
【问题讨论】:
-
现在有一个页面:
std::unit::unit.
标签: rust
http://doc.rust-lang.org/std/ 没有给出明确的答案,并且与其他原始类型不同,() 没有单独的页面。
看起来单元实现了与一般元组相同的特征:
克隆
部分均衡
情商
偏序
奥德
默认,
但同时单元在文档中的任何地方都与元组分开处理。
【问题讨论】:
std::unit::unit.
标签: rust
我现在正在为() 写一个页面:PR #15321... 现在显示为std::unit::unit。
在此期间,Rust 非常容易被 grepp,并且 grep for impl.*for *() 会出现一堆 impls(但是,并不是全部,因为有些是由宏生成的):
src/libcollections/hash/mod.rs:150: impl<S: Writer> Hash<S> for () {
src/libcore/cmp.rs:211: impl PartialEq for () {
src/libcore/cmp.rs:243: impl PartialOrd for () {
src/libcore/cmp.rs:270: impl Ord for () {
src/libcore/fmt/mod.rs:740:impl Show for () {
src/libdebug/repr.rs:39:impl Repr for () {
src/librand/rand_impls.rs:192:impl Rand for () {
src/librustc/util/ppaux.rs:509:impl Repr for () {
src/libserialize/json.rs:2209:impl ToJson for () {
src/libserialize/serialize.rs:361:impl<E, S:Encoder<E>> Encodable<S, E> for () {
src/libserialize/serialize.rs:367:impl<E, D:Decoder<E>> Decodable<D, E> for () {
src/libsyntax/ext/quote.rs:150: impl ToSource for () {
(以及一堆测试。)
总的来说,感兴趣的特征有:Hash、PartialEq、PartialOrd、Ord、Show、Rand、ToJson、Encodable、Decodable。还有至少Default、TotalEq、Clone via 宏。
【讨论】:
impl<T: U> V for T,其中()的实现U意味着V的实现。