- [ ] Syntax - [x] Exact heap types (#93) - [x] Descriptor types (#99) - [ ] Exact function externtypes (#102) - [ ] Instructions - [ ] `struct.new_desc` and `struct.new_default_desc` (#101) - [ ] `ref.get_desc` (#104) - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` (#105) - [ ] Validation - [x] Exact heap types ok and subtyping (#97) - [ ] Descriptor types ok and subtyping - [ ] Exact function externtypes ok and subtyping (#102) - [ ] Instructions - [x] Relaxed `br_on_cast` and `br_on_cast_fail`(#92) - [ ] Restrict `struct.new` and `struct.new_default` to types without descriptors (#101) - [ ] Make allocation instruction results exact (#103) - [ ] `struct.new_desc` and `struct.new_default_desc`, including as constant expressions (#101) - [ ] `ref.get_desc` (#104) - [ ] `ref.cast_desc_eq`, `br_on_cast_desc_eq`, and `br_on_cast_desc_eq_fail` (#105) - [ ] 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 (#108) - [ ] Exact heap types - [ ] Descriptor types - [ ] Exact function externtypes (#102) - [ ] 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 (#102) - [ ] 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_desc(Syntax and validation for struct.new_desc #101)ref.get_desc(Syntax and validation for ref.get_desc #104)ref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_fail(Syntax and validation for descriptor casts #105)br_on_castandbr_on_cast_fail([spec] Update br_on_cast validation #92)struct.newandstruct.new_defaultto types without descriptors (Syntax and validation for struct.new_desc #101)struct.new_descandstruct.new_default_desc, including as constant expressions (Syntax and validation for struct.new_desc #101)ref.get_desc(Syntax and validation for ref.get_desc #104)ref.cast_desc_eq,br_on_cast_desc_eq, andbr_on_cast_desc_eq_fail(Syntax and validation for descriptor casts #105)struct.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