// Test that `try!` macros are rewritten.

//@ run-rustfix
//@ check-pass

#![warn(rust_2018_compatibility)]
#![allow(dead_code)]
#![allow(deprecated)]

fn foo() -> Result<usize, ()> {
    let x: Result<usize, ()> = Ok(22);
    r#try!(x);
    //~^ WARNING `try` is a keyword in the 2018 edition
    //~| WARNING this is accepted in the current edition
    Ok(44)
}

fn main() {}
