| """ | |
| Broken bytecode objects can easily crash the interpreter. | |
| This is not going to be fixed. It is generally agreed that there is no | |
| point in writing a bytecode verifier and putting it in CPython just for | |
| this. Moreover, a verifier is bound to accept only a subset of all safe | |
| bytecodes, so it could lead to unnecessary breakage. | |
| For security purposes, "restricted" interpreters are not going to let | |
| the user build or load random bytecodes anyway. Otherwise, this is a | |
| "won't fix" case. | |
| """ | |
| def f(): | |
| pass | |
| f.__code__ = f.__code__.replace(co_code=b"") | |
| f() |