From 9eff10c79f028cb77128014a13a88bbc560276ca Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Mon, 19 Jan 2026 13:29:01 +0000 Subject: [PATCH] [ty] Use `smallvec_inline!` more consistently (#22720) --- crates/ty_python_semantic/src/types.rs | 64 ++++++++----------- crates/ty_python_semantic/src/types/narrow.rs | 4 +- 2 files changed, 30 insertions(+), 38 deletions(-) diff --git a/crates/ty_python_semantic/src/types.rs b/crates/ty_python_semantic/src/types.rs index 3609abe7f8..762d0664b9 100644 --- a/crates/ty_python_semantic/src/types.rs +++ b/crates/ty_python_semantic/src/types.rs @@ -18,7 +18,7 @@ use ruff_db::parsed::parsed_module; use ruff_python_ast as ast; use ruff_python_ast::name::Name; use ruff_text_size::{Ranged, TextRange}; -use smallvec::{SmallVec, smallvec}; +use smallvec::{SmallVec, smallvec_inline}; use ty_module_resolver::{KnownModule, Module, ModuleName, resolve_module}; use type_ordering::union_or_intersection_elements_ordering; @@ -5471,9 +5471,9 @@ impl<'db> Type<'db> { | Type::TypeIs(_) | Type::TypeGuard(_) | Type::TypedDict(_) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::InvalidType(*self, scope_id) - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::InvalidType( + *self, scope_id + )], fallback_type: Type::unknown(), }), @@ -5496,33 +5496,31 @@ impl<'db> Type<'db> { .unwrap_or(*self)) } KnownInstanceType::Deprecated(_) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec![InvalidTypeExpression::Deprecated], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Deprecated], fallback_type: Type::unknown(), }), KnownInstanceType::Field(__call__) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec![InvalidTypeExpression::Field], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Field], fallback_type: Type::unknown(), }), KnownInstanceType::ConstraintSet(__call__) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec![InvalidTypeExpression::ConstraintSet], + invalid_expressions: smallvec_inline![InvalidTypeExpression::ConstraintSet], fallback_type: Type::unknown(), }), KnownInstanceType::GenericContext(__call__) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec![InvalidTypeExpression::GenericContext], + invalid_expressions: smallvec_inline![InvalidTypeExpression::GenericContext], fallback_type: Type::unknown(), }), KnownInstanceType::Specialization(__call__) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec![InvalidTypeExpression::Specialization], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Specialization], fallback_type: Type::unknown(), }), KnownInstanceType::SubscriptedProtocol(_) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::Protocol - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Protocol], fallback_type: Type::unknown(), }), KnownInstanceType::SubscriptedGeneric(_) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![InvalidTypeExpression::Generic], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Generic], fallback_type: Type::unknown(), }), KnownInstanceType::UnionType(instance) => { @@ -5591,7 +5589,7 @@ impl<'db> Type<'db> { let Some(class) = nearest_enclosing_class(db, index, scope_id) else { return Err(InvalidTypeExpressionError { fallback_type: Type::unknown(), - invalid_expressions: smallvec::smallvec_inline![ + invalid_expressions: smallvec_inline![ InvalidTypeExpression::InvalidType(*self, scope_id) ], }); @@ -5607,35 +5605,29 @@ impl<'db> Type<'db> { // annotated assignment statement) doesn't reach here. Using it in any other type // expression is an error. SpecialFormType::TypeAlias => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::TypeAlias - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::TypeAlias], fallback_type: Type::unknown(), }), SpecialFormType::TypedDict => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::TypedDict - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::TypedDict], fallback_type: Type::unknown(), }), SpecialFormType::Literal | SpecialFormType::Union | SpecialFormType::Intersection => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ + invalid_expressions: smallvec_inline![ InvalidTypeExpression::RequiresArguments(*special_form) ], fallback_type: Type::unknown(), }), SpecialFormType::Protocol => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::Protocol - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Protocol], fallback_type: Type::unknown(), }), SpecialFormType::Generic => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![InvalidTypeExpression::Generic], + invalid_expressions: smallvec_inline![InvalidTypeExpression::Generic], fallback_type: Type::unknown(), }), @@ -5648,7 +5640,7 @@ impl<'db> Type<'db> { | SpecialFormType::TypeGuard | SpecialFormType::Unpack | SpecialFormType::CallableTypeOf => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ + invalid_expressions: smallvec_inline![ InvalidTypeExpression::RequiresOneArgument(*special_form) ], fallback_type: Type::unknown(), @@ -5656,7 +5648,7 @@ impl<'db> Type<'db> { SpecialFormType::Annotated | SpecialFormType::Concatenate => { Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ + invalid_expressions: smallvec_inline![ InvalidTypeExpression::RequiresTwoArguments(*special_form) ], fallback_type: Type::unknown(), @@ -5665,7 +5657,7 @@ impl<'db> Type<'db> { SpecialFormType::ClassVar | SpecialFormType::Final => { Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ + invalid_expressions: smallvec_inline![ InvalidTypeExpression::TypeQualifier(*special_form) ], fallback_type: Type::unknown(), @@ -5675,7 +5667,7 @@ impl<'db> Type<'db> { SpecialFormType::ReadOnly | SpecialFormType::NotRequired | SpecialFormType::Required => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ + invalid_expressions: smallvec_inline![ InvalidTypeExpression::TypeQualifierRequiresOneArgument(*special_form) ], fallback_type: Type::unknown(), @@ -5718,9 +5710,9 @@ impl<'db> Type<'db> { "Support for `typing.TypeVarTuple` instances in type expressions" )), _ => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::InvalidType(*self, scope_id) - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::InvalidType( + *self, scope_id + )], fallback_type: Type::unknown(), }), }, @@ -5734,9 +5726,9 @@ impl<'db> Type<'db> { } Type::NewTypeInstance(_) => Err(InvalidTypeExpressionError { - invalid_expressions: smallvec::smallvec_inline![ - InvalidTypeExpression::InvalidType(*self, scope_id) - ], + invalid_expressions: smallvec_inline![InvalidTypeExpression::InvalidType( + *self, scope_id + )], fallback_type: Type::unknown(), }), } @@ -10546,7 +10538,7 @@ pub(crate) struct CallableTypes<'db>(SmallVec<[CallableType<'db>; 1]>); impl<'db> CallableTypes<'db> { pub(crate) fn one(callable: CallableType<'db>) -> Self { - CallableTypes(smallvec![callable]) + CallableTypes(smallvec_inline![callable]) } pub(crate) fn from_elements(callables: impl IntoIterator>) -> Self { diff --git a/crates/ty_python_semantic/src/types/narrow.rs b/crates/ty_python_semantic/src/types/narrow.rs index e8f7fd2c06..d3caf543c8 100644 --- a/crates/ty_python_semantic/src/types/narrow.rs +++ b/crates/ty_python_semantic/src/types/narrow.rs @@ -29,7 +29,7 @@ use itertools::Itertools; use ruff_python_ast as ast; use ruff_python_ast::{BoolOp, ExprBoolOp}; use rustc_hash::FxHashMap; -use smallvec::{SmallVec, smallvec}; +use smallvec::{SmallVec, smallvec, smallvec_inline}; use std::collections::hash_map::Entry; /// Return the type constraint that `test` (if true) would place on `symbol`, if any. @@ -328,7 +328,7 @@ impl<'db> NarrowingConstraint<'db> { fn replacement(constraint: Type<'db>) -> Self { Self { intersection_disjunct: None, - replacement_disjuncts: smallvec![constraint], + replacement_disjuncts: smallvec_inline![constraint], } }