Construct a default value. Returns None for non-nullable Ref types, which have no default.
(&self)
| 373 | } |
| 374 | /// Construct a default value. Returns None for non-nullable Ref types, which have no default. |
| 375 | pub fn default_value(&self) -> Option<Val> { |
| 376 | match self { |
| 377 | ValType::I32 => Some(Val::I32(0)), |
| 378 | ValType::I64 => Some(Val::I64(0)), |
| 379 | ValType::F32 => Some(Val::F32(0)), |
| 380 | ValType::F64 => Some(Val::F64(0)), |
| 381 | ValType::V128 => Some(Val::V128(0.into())), |
| 382 | ValType::Ref(r) => { |
| 383 | if r.is_nullable() { |
| 384 | Some(Val::null_ref(r.heap_type())) |
| 385 | } else { |
| 386 | None |
| 387 | } |
| 388 | } |
| 389 | } |
| 390 | } |
| 391 | |
| 392 | pub(crate) fn into_registered_type(self) -> Option<RegisteredType> { |
| 393 | match self { |