(deser: D)
| 965 | } |
| 966 | |
| 967 | pub fn deserialize<'de, D>(deser: D) -> Result<DiscriminantSize, D::Error> |
| 968 | where |
| 969 | D: Deserializer<'de>, |
| 970 | { |
| 971 | match u32::deserialize(deser)? { |
| 972 | 1 => Ok(DiscriminantSize::Size1), |
| 973 | 2 => Ok(DiscriminantSize::Size2), |
| 974 | 4 => Ok(DiscriminantSize::Size4), |
| 975 | _ => Err(D::Error::custom("invalid discriminant size")), |
| 976 | } |
| 977 | } |
| 978 | } |
| 979 | |
| 980 | /// Shape of a "record" type in interface types. |