| 13 | } |
| 14 | |
| 15 | pub(crate) trait Abi: Copy { |
| 16 | /// Place the necessary type signature in the type list |
| 17 | fn push_arg_tys(args: &mut Vec<ValType>); |
| 18 | |
| 19 | /// Place the values in the argument list |
| 20 | fn store_to_args(self, args: &mut Vec<Val>); |
| 21 | |
| 22 | /// Load from the argument list |
| 23 | fn load_from_args(args: impl Iterator<Item = Val>) -> Result<Self, anyhow::Error>; |
| 24 | |
| 25 | /// matches the arg tys |
| 26 | fn matches_arg_tys(tys: impl Iterator<Item = ValType>) -> anyhow::Result<()>; |
| 27 | } |
| 28 | |
| 29 | pub(crate) trait ReturnAbi: Abi { |
| 30 | /// Place the necessary type signature in the type list |
nothing calls this directly
no outgoing calls
no test coverage detected