Compiler errors 带泛型的rust结构编译错误
我用rust编写了以下代码。版本为0.12.0-pre-nightlyCompiler errors 带泛型的rust结构编译错误,compiler-errors,rust,Compiler Errors,Rust,我用rust编写了以下代码。版本为0.12.0-pre-nightly struct Sample<T> { x: T } impl<T> Sample<T> { pub fn new<T>(v: T) -> Sample<T> { Sample { x: v } } pub fn get<T>(&self) -> T { self.x
struct Sample<T> {
x: T
}
impl<T> Sample<T> {
pub fn new<T>(v: T) -> Sample<T> {
Sample { x: v }
}
pub fn get<T>(&self) -> T {
self.x
}
}
fn main() {
Sample::new(0i).get(); // expect int 0
}
我无法通过编译器消息理解为什么无法编译示例程序。
如何修复它?不要在方法中添加类型参数。他们必须使用
impl
中的一个
struct Sample<T> {
x: T
}
impl<T> Sample<T> {
pub fn new(v: T) -> Sample<T> {
Sample { x: v }
}
pub fn get(&self) -> T {
self.x
}
}
fn main() {
Sample::new(0i).get(); // expect int 0
}
struct Sample<T> {
x: T
}
impl<T> Sample<T> {
pub fn new(v: T) -> Sample<T> {
Sample { x: v }
}
pub fn get(&self) -> T {
self.x
}
}
fn main() {
Sample::new(0i).get(); // expect int 0
}
pub fn get(&self) -> &T {
&self.x
}