As the reference interpreter also includes function references and tail call proposals, I enable all of them and run wat2wasm, but it raises type error.
$ wabt/bin/wat2wasm --enable-function-references --enable-tail-call --enable-gc global.wat
global.wat:1:60: error: initializer expression can only reference an imported global
(module (global i32 (i32.const 0)) (global i32 (global.get 0)))
^
In the GC proposal, it allows using previous global value as an initializer expression.
Therefore, following wasm module is a valid module in the GC proposal.
I run the module with the reference interpreter in the gc proposal, and it passes the validation.
As the reference interpreter also includes function references and tail call proposals, I enable all of them and run wat2wasm, but it raises type error.