From 698044b12822e43bf15cc65ed20cb4e325a821cf Mon Sep 17 00:00:00 2001 From: Aviv Palivoda Date: Wed, 5 Jun 2019 22:41:48 +0300 Subject: [PATCH] Add Module.__name__ --- tests/snippets/import.py | 2 ++ vm/src/obj/objmodule.rs | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/tests/snippets/import.py b/tests/snippets/import.py index 4f1164043..99322a2ea 100644 --- a/tests/snippets/import.py +++ b/tests/snippets/import.py @@ -7,6 +7,8 @@ import import_mutual1 assert import_target.X == import_target.func() assert import_target.X == func() +assert import_mutual1.__name__ == "import_mutual1" + assert import_target.Y == other_func() assert import_target.X == aliased.X diff --git a/vm/src/obj/objmodule.rs b/vm/src/obj/objmodule.rs index 904487e4d..ae1563d3a 100644 --- a/vm/src/obj/objmodule.rs +++ b/vm/src/obj/objmodule.rs @@ -23,10 +23,15 @@ impl PyModuleRef { panic!("Modules should definitely have a dict."); } } + + fn name(self: PyModuleRef, _vm: &VirtualMachine) -> String { + self.name.clone() + } } pub fn init(context: &PyContext) { extend_class!(&context, &context.module_type, { "__dir__" => context.new_rustfunc(PyModuleRef::dir), + "__name__" => context.new_rustfunc(PyModuleRef::name) }); }