小编Edo*_*rdo的帖子

Rust 中的隐式所有权

我希望以下代码由于过期而无法编译,但它可以工作。

fn main() {
    let x;
    {
        let y = &13;
        x = y;
    }
    println!("{}", x); 
}
Run Code Online (Sandbox Code Playgroud)
fn main() {
    let x;
    {
        let y = &13;
        x = y;
    }
    println!("{}", x); 
}
Run Code Online (Sandbox Code Playgroud)

复合类型的相同示例会按照我的意愿引发错误。

fn main() {
    let x: &Box<i32>; 
    {
        let y = &Box::new(13);
        x = y; 
    }
    println!("{}", x); 
}
Run Code Online (Sandbox Code Playgroud)
13
Run Code Online (Sandbox Code Playgroud)

一个典型的活生生的例子也给出了一个错误:

fn main() { 
    let x;
    {
         let y = 13;
         x = &y; 
    }
    println!("{}", x); 
}
Run Code Online (Sandbox Code Playgroud)
fn main() {
    let x: &Box<i32>; 
    { …
Run Code Online (Sandbox Code Playgroud)

ownership rust borrowing

5
推荐指数
0
解决办法
66
查看次数

标签 统计

borrowing ×1

ownership ×1

rust ×1