在字段中使用结构

时间:2014-09-17 16:07:22

标签: rust lifetime

我试图理解结构包含简单类型与包含其他结构的情况之间的区别。所有指南/示例/ ...似乎只使用基本类型作为字段,这有效:

struct Something {
    some: i32,
    numbers: i32,
}

但这会导致错误:

struct Something {
    reader: Reader,
    writer: Writer,
}

在当前主人:error: explicit lifetime bound required

那么解决方案是什么? Somethingreaderwriter构成,并从该函数返回 - readerwriter本身不会复制到其他任何位置。

1 个答案:

答案 0 :(得分:2)

ReaderWriter是特征,而不是其他结构,这就是代码不起作用的原因。

您想要做的事情可以与其他结构一起使用here

fn main() {
    #[deriving(Show)]
    struct OtherStruct {
        s: uint,
    }
    #[deriving(Show)]
    struct Something {
        reader: OtherStruct,
    }
    println!("{}" , Something { reader : OtherStruct { s : 10 } });
}

对于您想要使用的实际Reader,您可以查看here