handle union result types (simplify logic)

This commit is contained in:
Pat Hickey
2020-02-26 12:40:20 -08:00
committed by Jakub Konka
parent 126d7b6825
commit 8ecbceb5de

View File

@@ -345,22 +345,12 @@ where
match &*tref.type_() { match &*tref.type_() {
witx::Type::Builtin(b) => match b { witx::Type::Builtin(b) => match b {
witx::BuiltinType::U8 witx::BuiltinType::String => unimplemented!("string result types"),
| witx::BuiltinType::S8 _ => write_val_to_ptr,
| witx::BuiltinType::U16
| witx::BuiltinType::S16
| witx::BuiltinType::U32
| witx::BuiltinType::S32
| witx::BuiltinType::U64
| witx::BuiltinType::S64
| witx::BuiltinType::F32
| witx::BuiltinType::F64
| witx::BuiltinType::USize
| witx::BuiltinType::Char8 => write_val_to_ptr,
witx::BuiltinType::String => unimplemented!("string types"),
}, },
witx::Type::Enum(_) | witx::Type::Flags(_) | witx::Type::Int(_) => write_val_to_ptr, witx::Type::Pointer { .. } | witx::Type::ConstPointer { .. } | witx::Type::Array { .. } => {
witx::Type::Struct(_) => write_val_to_ptr, unimplemented!("pointer/array result types")
_ => unimplemented!("missing marshalling result for {:?}", &*tref.type_()), }
_ => write_val_to_ptr,
} }
} }