Register array.array as collections.abc.MutableSequence
(
vm: &VirtualMachine,
module: &Py<crate::vm::builtins::PyModule>,
)
| 1660 | |
| 1661 | // Register array.array as collections.abc.MutableSequence |
| 1662 | pub(crate) fn module_exec( |
| 1663 | vm: &VirtualMachine, |
| 1664 | module: &Py<crate::vm::builtins::PyModule>, |
| 1665 | ) -> PyResult<()> { |
| 1666 | __module_exec(vm, module); |
| 1667 | |
| 1668 | let array_type = module |
| 1669 | .get_attr("array", vm) |
| 1670 | .expect("array module has array type"); |
| 1671 | |
| 1672 | // vm.import returns the top-level module, so we need to get abc submodule |
| 1673 | let collections_abc = vm.import("collections.abc", 0)?; |
| 1674 | let abc = collections_abc.get_attr("abc", vm)?; |
| 1675 | let mutable_sequence = abc.get_attr("MutableSequence", vm)?; |
| 1676 | let register = mutable_sequence.get_attr("register", vm)?; |
| 1677 | register.call((array_type,), vm)?; |
| 1678 | |
| 1679 | Ok(()) |
| 1680 | } |
| 1681 | } |