diff options
author | Damien George <damien.p.george@gmail.com> | 2014-03-26 18:55:29 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-03-26 18:55:29 +0000 |
commit | 548e76cfd6d1f8c1419bc827aae0bd87dc7867b5 (patch) | |
tree | 856084a6994ed93f866bd4cb961924c922606eb6 | |
parent | 752ba554ccb25a798e5279858ea8aac4af77cc1e (diff) | |
download | micropython-548e76cfd6d1f8c1419bc827aae0bd87dc7867b5.tar.gz micropython-548e76cfd6d1f8c1419bc827aae0bd87dc7867b5.zip |
py: Use _is_subclass_fast instead of _exception_match.
-rw-r--r-- | py/objgenerator.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/py/objgenerator.c b/py/objgenerator.c index 3cfa02a0a0..eed5a55111 100644 --- a/py/objgenerator.c +++ b/py/objgenerator.c @@ -174,8 +174,9 @@ STATIC mp_obj_t gen_instance_close(mp_obj_t self_in) { } // Swallow StopIteration & GeneratorExit (== successful close), and re-raise any other if (ret_kind == MP_VM_RETURN_EXCEPTION) { - if (mp_obj_exception_match(ret, &mp_type_GeneratorExit) || - mp_obj_exception_match(ret, &mp_type_StopIteration)) { + // ret should always be an instance of an exception class + if (mp_obj_is_subclass_fast(mp_obj_get_type(ret), &mp_type_GeneratorExit) || + mp_obj_is_subclass_fast(mp_obj_get_type(ret), &mp_type_StopIteration)) { return mp_const_none; } nlr_jump(ret); |