单位类型实现了哪些特征?

时间:2014-07-01 18:06:14

标签: rust

http://doc.rust-lang.org/std/没有给出明确的答案,也没有()的单独页面与其他原始类型不同。

看起来单位通常实现与元组相同的特征:
克隆
PartialEq

PartialOrd
奥德
默认

但与此同时,单元与文档中的元组分开处理。

1 个答案:

答案 0 :(得分:1)

我现在正在为()撰写一个页面:PR #15321 ...现在显示为std::unit::unit

在此期间,Rust非常容易抓取,并且impl.*for *()的grepping会产生一堆impl s(然而,并非所有这些都是,因为有些是由宏生成的) ):

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 () {

(以及测试中的一堆。)

总之,感兴趣的特征包括:HashPartialEqPartialOrdOrdShowRand,{ {1}},ToJsonEncodable。还有至少DecodableDefaultTotalEq来自宏。