;;; TOOL: wat2wasm
;;; ERROR: 1
(module
  ;; too few results
  (func
    loop (result i32 i32)
      i32.const 0
    end
    return)

  ;; too many results
  (func
    loop (result i32 i32)
      i32.const 0
      i32.const 0
      i32.const 0
    end
    return)

  ;; result type mismatch
  (func
    loop (result f32 i32)
      i32.const 0
      i32.const 1
    end
    return)

  ;; too few params
  (func
    loop (param i32)
      drop
    end)

  ;; param type mismatch
  (func
    f32.const 0
    loop (param i32)
      drop
    end)
)
(;; STDERR ;;;
out/test/typecheck/bad-loop-multi-mismatch.txt:8:5: error: type mismatch in loop, expected [i32, i32] but got [i32]
    end
    ^^^
out/test/typecheck/bad-loop-multi-mismatch.txt:17:5: error: type mismatch at end of loop, expected [] but got [i32]
    end
    ^^^
out/test/typecheck/bad-loop-multi-mismatch.txt:25:5: error: type mismatch in loop, expected [f32, i32] but got [i32, i32]
    end
    ^^^
out/test/typecheck/bad-loop-multi-mismatch.txt:30:5: error: type mismatch in loop, expected [i32] but got []
    loop (param i32)
    ^^^^
out/test/typecheck/bad-loop-multi-mismatch.txt:37:5: error: type mismatch in loop, expected [i32] but got [f32]
    loop (param i32)
    ^^^^
;;; STDERR ;;)
