c2rust-refactor 0.15.0

C2Rust refactoring tool implementation
struct S {
    x: u32,
    y: u32,
}

fn main() {
    let mut s = S { x: 0, y: 0 };
    s = crate::S { x: 1, ..s };
    s = crate::S { y: 2, ..s };
}

mod m {
    fn g() {
        let mut r = 0..10;
        r = ::std::ops::Range { start: 2, ..r };
        r = ::std::ops::Range { end: 8, ..r };
    }
}

/*
// This part of the test case doesn't work yet.  The generated code refers to "::f::T" which is not
// a valid path.
fn f() {
    struct T { x: u32 }
    let mut t = T { x: 0 };
    t.x = 1;
}
*/