On Wed, Apr 27, 2016 at 5:29 PM, Kyle Huey <[email protected]> wrote:
> Can we catch this pattern with a compiler somehow?

Yes. Example:

foo.rs:

struct Foo {
    x: u64,
}

fn do_bar(foo: Foo) {
}

fn main() {
    let foo = Foo {
        x: 0,
    };
    do_bar(foo);
    if foo.x == 0 {
        // do stuff
    }
}


$ rustc foo.rs
foo.rs:13:8: 13:13 error: use of moved value: `foo.x` [E0382]
foo.rs:13     if foo.x == 0 {
                 ^~~~~

jack.
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to