diff options
Diffstat (limited to 'ports/webassembly')
-rw-r--r-- | ports/webassembly/main.c | 2 | ||||
-rw-r--r-- | ports/webassembly/objpyproxy.js | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/ports/webassembly/main.c b/ports/webassembly/main.c index c542f0cd72..770dfbe0ca 100644 --- a/ports/webassembly/main.c +++ b/ports/webassembly/main.c @@ -233,7 +233,7 @@ void nlr_jump_fail(void *val) { } } -void NORETURN __fatal_error(const char *msg) { +void MP_NORETURN __fatal_error(const char *msg) { while (1) { ; } diff --git a/ports/webassembly/objpyproxy.js b/ports/webassembly/objpyproxy.js index 3b94f8aadc..0eafd0dec5 100644 --- a/ports/webassembly/objpyproxy.js +++ b/ports/webassembly/objpyproxy.js @@ -148,6 +148,12 @@ const py_proxy_handler = { }; }, has(target, prop) { + // avoid throwing on `Symbol() in proxy` checks + if (typeof prop !== "string") { + // returns true only on iterator because other + // symbols are not considered in the `get` trap + return prop === Symbol.iterator; + } return Module.ccall( "proxy_c_to_js_has_attr", "number", |