diff --git a/vm/src/stdlib/builtins.rs b/vm/src/stdlib/builtins.rs index 8edfea618..ab4c6e591 100644 --- a/vm/src/stdlib/builtins.rs +++ b/vm/src/stdlib/builtins.rs @@ -513,6 +513,13 @@ mod builtins { default_value: OptionalArg, vm: &VirtualMachine, ) -> PyResult { + if !PyIter::check(&iterator) { + return Err(vm.new_type_error(format!( + "{} object is not an iterator", + iterator.class().name() + ))); + } + PyIter::new(iterator).next(vm).or_else(|err| { if err.isinstance(&vm.ctx.exceptions.stop_iteration) { default_value.ok_or(err)