http://doc.rust-lang.org/std/没有给出明确的答案,也没有()的单独页面与其他原始类型不同。
看起来单位通常实现与元组相同的特征:
克隆
PartialEq
式
PartialOrd
奥德
默认,
但与此同时,单元与文档中的元组分开处理。
答案 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 () {
(以及测试中的一堆。)
总之,感兴趣的特征包括:Hash
,PartialEq
,PartialOrd
,Ord
,Show
,Rand
,{ {1}},ToJson
,Encodable
。还有至少Decodable
,Default
,TotalEq
来自宏。