+#![feature(custom_attribute)]
+#![allow(dead_code, unused_attributes)]
+
+#[miri_run(expected = "Int(1)")]
+fn ret() -> i32 {
+ 1
+}
+
+// #[miri_run(expected = "Int(-1)")]
+// fn neg() -> i32 {
+// -1
+// }
+
+#[miri_run(expected = "Int(3)")]
+fn add() -> i32 {
+ 1 + 2
+}
+
+// #[miri_run(expected = "Int(3)")]
+// fn indirect_add() -> i32 {
+// let x = 1;
+// let y = 2;
+// x + y
+// }
+
+// #[miri_run(expected = "Int(25)")]
+// fn arith() -> i32 {
+// 3*3 + 4*4
+// }
+
+// #[miri_run(expected = "Int(0)")]
+// fn if_false() -> i32 {
+// if false { 1 } else { 0 }
+// }
+
+// #[miri_run(expected = "Int(1)")]
+// fn if_true() -> i32 {
+// if true { 1 } else { 0 }
+// }
+
+// #[miri_run(expected = "Int(2)")]
+// fn call() -> i32 {
+// fn increment(x: i32) -> i32 {
+// x + 1
+// }
+
+// increment(1)
+// }
+
+// // #[miri_run(expected = "Int(3628800)")]
+// // fn factorial_loop() -> i32 {
+// // let mut product = 1;
+// // let mut i = 1;
+
+// // while i <= 10 {
+// // product *= i;
+// // i += 1;
+// // }
+
+// // product
+// // }
+
+// #[miri_run(expected = "Int(3628800)")]
+// fn factorial_recursive() -> i32 {
+// fn fact(n: i32) -> i32 {
+// if n == 0 {
+// 1
+// } else {
+// n * fact(n - 1)
+// }
+// }
+
+// fact(10)
+// }
+
+// #[miri_run(expected = "Int(1)")]
+// fn match_bool() -> i32 {
+// let b = true;
+// match b {
+// true => 1,
+// false => 0,
+// }
+// }
+
+// #[miri_run(expected = "Int(20)")]
+// fn match_int() -> i32 {
+// let n = 2;
+// match n {
+// 0 => 0,
+// 1 => 10,
+// 2 => 20,
+// 3 => 30,
+// _ => 100,
+// }
+// }
+
+// #[miri_run(expected = "Int(1)")]
+// fn one_line_ref() -> i32 {
+// *&1
+// }
+
+// #[miri_run(expected = "Int(1)")]
+// fn basic_ref() -> i32 {
+// let x = &1;
+// *x
+// }
+
+// #[miri_run(expected = "Int(3)")]
+// fn basic_ref_mut() -> i32 {
+// let x = &mut 1;
+// *x += 2;
+// *x
+// }
+
+// // #[miri_run(expected = "Int(3)")]
+// // fn basic_ref_mut_var() -> i32 {
+// // let mut a = 1;
+// // {
+// // let x = &mut a;
+// // *x += 2;
+// // }
+// // a
+// // }
+
+// #[miri_run(expected = "Int(4)")]
+// fn match_int_range() -> i32 {
+// let n = 42;
+// match n {
+// 0...9 => 0,
+// 10...19 => 1,
+// 20...29 => 2,
+// 30...39 => 3,
+// 40...49 => 4,
+// _ => 5,
+// }
+// }
+
+// enum MyOption<T> {
+// Some { data: T },
+// None,
+// }
+
+// #[miri_run(expected = "Int(13)")]
+// fn match_my_opt_some() -> i32 {
+// let x = MyOption::Some { data: 13 };
+// match x {
+// MyOption::Some { data } => data,
+// MyOption::None => 42,
+// }
+// }
+
+// #[miri_run(expected = "Int(42)")]
+// fn match_my_opt_none() -> i32 {
+// let x = MyOption::None;
+// match x {
+// MyOption::Some { data } => data,
+// MyOption::None => 42,
+// }
+// }
+
+// #[miri_run(expected = "Int(13)")]
+// fn match_opt_some() -> i32 {
+// let x = Some(13);
+// match x {
+// Some(data) => data,
+// None => 42,
+// }
+// }
+
+// /// Test calling a very simple function from the standard library.
+// #[miri_run(expected = "Int(1)")]
+// fn cross_crate_fn_call() -> i32 {
+// if 1i32.is_positive() { 1 } else { 0 }
+// }
+
+// fn main() {}