小编Dal*_*ale的帖子

可变借用以用于结构保持参考问题

我遇到一个结构问题,我作为一个可变参考传递.只有在定义结构以保存引用时才会出现此问题.

struct Global<'a> {
    one: i32,
    two: &'a i32
}

fn do_task<'a, F, R: 'a>(global: &'a mut Global<'a>, task: F)
    where F: Fn(&'a mut Global<'a>) -> &'a R {
    let result = task(global);
}

fn one<'a>(global: &'a mut Global<'a>) -> &'a i32 {
    &global.one
}

fn two<'a>(global: &'a mut Global<'a>) -> &'a i32 {
    global.two
}

fn main() {
    let number = 2;
    let mut global = Global {
        one: 1,
        two: &number
    };
    do_task(&mut global, one);
    do_task(&mut global, two); …
Run Code Online (Sandbox Code Playgroud)

rust

3
推荐指数
1
解决办法
215
查看次数

标签 统计

rust ×1