- [ ] Syntax - [x] Exact heap types (#93) - [ ] Descriptor types - [ ] Exact function externtypes - [ ] Instructions - [ ] `struct.new_desc` and `struct.new_default_desc` - [ ] `ref.get_desc` - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` - [ ] Validation - [x] Exact heap types ok and subtyping (#97) - [ ] Descriptor types ok and subtyping - [ ] Exact function externtypes ok and subtyping - [ ] Instructions - [x] Relaxed `br_on_cast` and `br_on_cast_fail`(#92) - [ ] Restrict `struct.new` and `struct.new_default` to types without descriptors - [ ] `struct.new_desc` and `struct.new_default_desc`, including as constant expressions - [ ] `ref.get_desc` - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` - [ ] Execution - [ ] Descriptors in struct instances - [ ] Function instances valid with exact externtypes - [ ] Instructions - [ ] `struct.new_desc` and `struct.new_default_desc` - [ ] `ref.get_desc` - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` - [ ] Binary format - [ ] Exact heap types - [ ] Descriptor types - [ ] Exact function externtypes - [ ] Instructions - [ ] `struct.new_desc` and `struct.new_default_desc` - [ ] `ref.get_desc` - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` - [ ] Text format - [ ] Exact heap types - [ ] Descriptor types - [ ] Exact function externtypes - [ ] Instructions - [ ] `struct.new_desc` and `struct.new_default_desc` - [ ] `ref.get_desc` - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` - [ ] Appendix - [ ] Exactness type variables for principal types - [ ] Validation algorithm - [ ] Change history - [ ] Indices - [ ] Types - [ ] Instructions - [ ] Semantic rules - [ ] Index ("exact", "desctype", "descriptor")
struct.new_descandstruct.new_default_descref.get_descref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_failbr_on_castandbr_on_cast_fail([spec] Update br_on_cast validation #92)struct.newandstruct.new_defaultto types without descriptorsstruct.new_descandstruct.new_default_desc, including as constant expressionsref.get_descref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_failstruct.new_descandstruct.new_default_descref.get_descref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_failstruct.new_descandstruct.new_default_descref.get_descref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_failstruct.new_descandstruct.new_default_descref.get_descref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_fail