diff --git a/vm/src/builtins.rs b/vm/src/builtins.rs index c7e11a027..9fd7e08da 100644 --- a/vm/src/builtins.rs +++ b/vm/src/builtins.rs @@ -851,6 +851,7 @@ pub fn make_module(vm: &VirtualMachine, module: PyObjectRef) { "ReferenceError" => ctx.exceptions.reference_error.clone(), "SyntaxError" => ctx.exceptions.syntax_error.clone(), "NotImplementedError" => ctx.exceptions.not_implemented_error.clone(), + "RecursionError" => ctx.exceptions.recursion_error.clone(), "TypeError" => ctx.exceptions.type_error.clone(), "ValueError" => ctx.exceptions.value_error.clone(), "IndexError" => ctx.exceptions.index_error.clone(), diff --git a/vm/src/exceptions.rs b/vm/src/exceptions.rs index b6d9f33a2..e9979c1ac 100644 --- a/vm/src/exceptions.rs +++ b/vm/src/exceptions.rs @@ -222,6 +222,7 @@ pub struct ExceptionZoo { pub module_not_found_error: PyClassRef, pub name_error: PyClassRef, pub not_implemented_error: PyClassRef, + pub recursion_error: PyClassRef, pub os_error: PyClassRef, pub overflow_error: PyClassRef, pub permission_error: PyClassRef, @@ -280,6 +281,7 @@ impl ExceptionZoo { let zero_division_error = create_type("ZeroDivisionError", &type_type, &arithmetic_error); let module_not_found_error = create_type("ModuleNotFoundError", &type_type, &import_error); let not_implemented_error = create_type("NotImplementedError", &type_type, &runtime_error); + let recursion_error = create_type("RecursionError", &type_type, &runtime_error); let file_not_found_error = create_type("FileNotFoundError", &type_type, &os_error); let permission_error = create_type("PermissionError", &type_type, &os_error); let file_exists_error = create_type("FileExistsError", &type_type, &os_error); @@ -321,6 +323,7 @@ impl ExceptionZoo { module_not_found_error, name_error, not_implemented_error, + recursion_error, os_error, overflow_error, permission_error,