From 03e9c7b0a0ea8ce4117eb07df2fc36afe02a2deb Mon Sep 17 00:00:00 2001 From: Shunsuke Shibayama <45118249+mtshiba@users.noreply.github.com> Date: Sat, 16 Aug 2025 12:15:05 +0900 Subject: [PATCH] Update crates/ty_python_semantic/src/types/protocol_class.rs Co-authored-by: Alex Waygood --- crates/ty_python_semantic/src/types/protocol_class.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/ty_python_semantic/src/types/protocol_class.rs b/crates/ty_python_semantic/src/types/protocol_class.rs index e1caaa87fc..a78550cb05 100644 --- a/crates/ty_python_semantic/src/types/protocol_class.rs +++ b/crates/ty_python_semantic/src/types/protocol_class.rs @@ -453,15 +453,17 @@ impl<'a, 'db> ProtocolMember<'a, 'db> { } else { false }; - let write_error = if let Some(Type::FunctionLiteral(setter)) = property.setter(db) { + if read_error { + return true; + } + if let Some(Type::FunctionLiteral(setter)) = property.setter(db) { let setter_value_type = setter.parameter_type(db, 1).unwrap_or(Type::unknown()); !object_type .validate_attribute_assignment(db, self.name, setter_value_type) .is_not_err() } else { false - }; - read_error || write_error + } } ProtocolMemberKind::Other(ty) => visitor.visit((*ty, attribute_type), || { ty.is_disjoint_from_impl(db, attribute_type, visitor)