对于以下代码:
import io::*;
import to_str::*;
impl <T : to_str copy> of to_str for @[mut T] {
fn to_str() -> str {
let tmp = copy self;
tmp.map(|x| { x.to_str() }).to_str()
}
}
fn main() {
println((@[mut 1, 2, 3]).to_str());
}
我收到一个错误:
example.rs:7:8: 7:11 error: internal compiler error: aliased ptr with a non-none lp
example.rs:7 tmp.map(|x| { x.to_str() }).to_str()
^~~
如何解决?还有什么aliased ptr with a non-none lp
意思呢?