Rust 具有特征边界的泛型结构字段
我正在尝试实现一个结构,其中包含一个具有特征边界的泛型字段。我希望将值Rust 具有特征边界的泛型结构字段,rust,Rust,我正在尝试实现一个结构,其中包含一个具有特征边界的泛型字段。我希望将值Group.admin设置为可打印。它的确切类型并不重要 struct Group<T: Printable> { admin: T, } struct Person { name: String, } impl Person { fn new() -> Person { Person { name: String::from("Bob"),
Group.admin
设置为可打印
。它的确切类型并不重要
struct Group<T: Printable> {
admin: T,
}
struct Person {
name: String,
}
impl Person {
fn new() -> Person {
Person {
name: String::from("Bob"),
}
}
}
trait Printable {
fn print(&self);
}
impl Printable for Person {
fn print(&self) {
println!("{}", self.name);
}
}
fn group_test<T: Printable>() -> Group<T> {
Group {
admin: Person::new(),
}
}
我不确定这里出了什么问题。也许我必须以某种方式将
Person::new()
的值转换为
。group\u test函数不是泛型函数,它应该返回一个组
,而是返回一个组
这包括:
fn group_test() -> Group<Person> {
Group {
admin: Person::new(),
}
}
fn组\u测试()->组{
团体{
管理员:Person::new(),
}
}
这还将汇编:
fn group_test<T: Printable>(printable: T) -> Group<T> {
Group {
admin: printable,
}
}
fn组\u测试(可打印:T)->组{
团体{
管理员:可打印,
}
}