|
| 1 | +--- |
| 2 | +source: c2rust-transpile/tests/snapshots.rs |
| 3 | +expression: cat tests/snapshots/enums.2024.rs |
| 4 | +--- |
| 5 | +#![allow( |
| 6 | + dead_code, |
| 7 | + non_camel_case_types, |
| 8 | + non_snake_case, |
| 9 | + non_upper_case_globals, |
| 10 | + unsafe_op_in_unsafe_fn, |
| 11 | + unused_assignments, |
| 12 | + unused_mut |
| 13 | +)] |
| 14 | +pub type Foo = ::core::ffi::c_uint; |
| 15 | +pub const Foo1: Foo = 1; |
| 16 | +pub const Foo0: Foo = 0; |
| 17 | +pub type Bar = ::core::ffi::c_int; |
| 18 | +pub const Bar0: Bar = 0; |
| 19 | +pub const Bar1: Bar = -1; |
| 20 | +#[unsafe(no_mangle)] |
| 21 | +pub unsafe extern "C" fn test_enums() { |
| 22 | + let mut foo: Foo = Foo0; |
| 23 | + let mut bar: Bar = Bar0; |
| 24 | + foo = Foo1; |
| 25 | + bar = Bar1; |
| 26 | + foo = Bar0 as ::core::ffi::c_int as Foo; |
| 27 | + bar = Foo0 as ::core::ffi::c_int as Bar; |
| 28 | + foo = Foo1; |
| 29 | + bar = 1 as Bar; |
| 30 | + foo = 3 as Foo; |
| 31 | + bar = 3 as Bar; |
| 32 | + foo = (foo as ::core::ffi::c_uint).wrapping_sub(2 as ::core::ffi::c_uint) as Foo; |
| 33 | + bar = (bar as ::core::ffi::c_int - 2 as ::core::ffi::c_int) as Bar; |
| 34 | + let mut e: Foo = Foo1; |
| 35 | + let mut enum_enum: ::core::ffi::c_int = |
| 36 | + (e as ::core::ffi::c_uint == foo as ::core::ffi::c_uint) as ::core::ffi::c_int; |
| 37 | + let mut enum_constant: ::core::ffi::c_int = (e as ::core::ffi::c_uint |
| 38 | + == Foo0 as ::core::ffi::c_int as ::core::ffi::c_uint) |
| 39 | + as ::core::ffi::c_int; |
| 40 | + let mut wrong_enum_enum: ::core::ffi::c_int = |
| 41 | + (e as ::core::ffi::c_uint == bar as ::core::ffi::c_uint) as ::core::ffi::c_int; |
| 42 | + let mut wrong_enum_constant: ::core::ffi::c_int = (e as ::core::ffi::c_uint |
| 43 | + == Bar0 as ::core::ffi::c_int as ::core::ffi::c_uint) |
| 44 | + as ::core::ffi::c_int; |
| 45 | +} |
0 commit comments