diff options
-rw-r--r-- | src/parser/parsers.h | 2 | ||||
-rw-r--r-- | test/lit/wat-kitchen-sink.wast | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/parser/parsers.h b/src/parser/parsers.h index 1d786f363..601007036 100644 --- a/src/parser/parsers.h +++ b/src/parser/parsers.h @@ -2094,7 +2094,7 @@ template<typename Ctx> MaybeResult<> subtype(Ctx& ctx) { } if (ctx.in.takeSExprStart("sub"sv)) { - if (ctx.in.takeKeyword("open"sv)) { + if (!ctx.in.takeKeyword("final"sv)) { ctx.setOpen(); } if (auto super = maybeTypeidx(ctx)) { diff --git a/test/lit/wat-kitchen-sink.wast b/test/lit/wat-kitchen-sink.wast index 775a0a139..479a8412d 100644 --- a/test/lit/wat-kitchen-sink.wast +++ b/test/lit/wat-kitchen-sink.wast @@ -29,7 +29,7 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $s0 (struct )) - (type $s0 (sub (struct))) + (type $s0 (struct)) ;; CHECK: (type $s1 (struct )) (type $s1 (struct (field))) ) @@ -198,17 +198,17 @@ (type $any-array (array (mut anyref))) (rec - (type $void (sub open (func))) + (type $void (sub (func))) ) ;; CHECK: (type $subvoid (sub final $void (func))) - (type $subvoid (sub $void (func))) + (type $subvoid (sub final $void (func))) - (type $many (sub open (func (param $x i32) (param i64 f32) (param) (param $y f64) + (type $many (sub (func (param $x i32) (param i64 f32) (param) (param $y f64) (result anyref (ref func))))) ;; CHECK: (type $submany (sub final $many (func (param i32 i64 f32 f64) (result anyref (ref func))))) - (type $submany (sub $many (func (param i32 i64 f32 f64) (result anyref (ref func))))) + (type $submany (sub final $many (func (param i32 i64 f32 f64) (result anyref (ref func))))) ;; imported memories (memory (export "mem") (export "mem2") (import "" "mem") 0) |