func foo(x): match x: {"key1": "value1", "key2": "value2"}: print('{"key1": "value1", "key2": "value2"}') {"key1": "value1", "key2"}: print('{"key1": "value1", "key2"}') {"key1", "key2": "value2"}: print('{"key1", "key2": "value2"}') {"key1", "key2"}: print('{"key1", "key2"}') {"key1": "value1"}: print('{"key1": "value1"}') {"key1"}: print('{"key1"}') _: print("wildcard") func bar(x): match x: {0}: print("0") {1}: print("1") {2}: print("2") _: print("wildcard") func test(): foo({"key1": "value1", "key2": "value2"}) foo({"key1": "value1", "key2": ""}) foo({"key1": "", "key2": "value2"}) foo({"key1": "", "key2": ""}) foo({"key1": "value1"}) foo({"key1": ""}) foo({"key1": "value1", "key2": "value2", "key3": "value3"}) foo({"key1": "value1", "key3": ""}) foo({"key2": "value2"}) foo({"key3": ""}) bar({0: "0"}) bar({1: "1"}) bar({2: "2"}) bar({3: "3"})