diff --git a/crates/ty_python_semantic/src/types/call/bind.rs b/crates/ty_python_semantic/src/types/call/bind.rs index f9d770c845..32dc8ad258 100644 --- a/crates/ty_python_semantic/src/types/call/bind.rs +++ b/crates/ty_python_semantic/src/types/call/bind.rs @@ -1026,10 +1026,14 @@ impl<'db> Bindings<'db> { // `tuple(range(42))` => `tuple[int, ...]` // BUT `tuple((1, 2))` => `tuple[Literal[1], Literal[2]]` rather than `tuple[Literal[1, 2], ...]` if let [Some(argument)] = overload.parameter_types() { - let tuple_spec = argument.try_iterate(db).expect( - "try_iterate() should not fail on a type \ - assignable to `Iterable`", - ); + let Ok(tuple_spec) = argument.try_iterate(db) else { + tracing::debug!( + "type" = %argument.display(db), + "try_iterate() should not fail on a type \ + assignable to `Iterable`", + ); + continue; + }; overload.set_return_type(Type::tuple(TupleType::new( db, tuple_spec.as_ref(),