| // Part of the Crubit project, under the Apache License v2.0 with LLVM | |
| // Exceptions. See /LICENSE for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| #[repr(C)] | |
| #[derive(Copy, Clone, Default)] | |
| pub struct LeafRsType { | |
| field: u8, | |
| } | |
| pub fn wrap(x: u8) -> LeafRsType { | |
| LeafRsType { field: x } | |
| } | |
| pub fn unwrap(x: LeafRsType) -> u8 { | |
| x.field | |
| } | |
| #[repr(u8)] | |
| #[derive(Copy, Clone)] | |
| pub enum LeafRsEnum { | |
| KUnknown, | |
| KValue1, | |
| KValue2, | |
| KValue3, | |
| } | |
| pub fn wrap_enum(x: u8) -> LeafRsEnum { | |
| match x { | |
| 1 => LeafRsEnum::KValue1, | |
| 2 => LeafRsEnum::KValue2, | |
| 3 => LeafRsEnum::KValue3, | |
| _ => LeafRsEnum::KUnknown, | |
| } | |
| } | |
| pub fn unwrap_enum(x: LeafRsEnum) -> u8 { | |
| x as u8 | |
| } | |
| pub use LeafRsType as LeafRsTypeAlias; |