Skip to content

Commit 2c9da80

Browse files
authored
[ty] Use Type::string_literal() more (#19352)
1 parent 8e61da7 commit 2c9da80

File tree

3 files changed

+10
-21
lines changed

3 files changed

+10
-21
lines changed

crates/ty_python_semantic/src/types.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3134,9 +3134,7 @@ impl<'db> Type<'db> {
31343134
self.try_call_dunder(
31353135
db,
31363136
"__getattr__",
3137-
CallArgumentTypes::positional([Type::StringLiteral(
3138-
StringLiteralType::new(db, name.as_str()),
3139-
)]),
3137+
CallArgumentTypes::positional([Type::string_literal(db, &name)]),
31403138
)
31413139
.map(|outcome| Place::bound(outcome.return_type(db)))
31423140
// TODO: Handle call errors here.
@@ -3155,9 +3153,7 @@ impl<'db> Type<'db> {
31553153
self.try_call_dunder_with_policy(
31563154
db,
31573155
"__getattribute__",
3158-
&mut CallArgumentTypes::positional([Type::StringLiteral(
3159-
StringLiteralType::new(db, name.as_str()),
3160-
)]),
3156+
&mut CallArgumentTypes::positional([Type::string_literal(db, &name)]),
31613157
MemberLookupPolicy::MRO_NO_OBJECT_FALLBACK,
31623158
)
31633159
.map(|outcome| Place::bound(outcome.return_type(db)))

crates/ty_python_semantic/src/types/display.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,28 +1009,22 @@ mod tests {
10091009
use crate::Db;
10101010
use crate::db::tests::setup_db;
10111011
use crate::place::typing_extensions_symbol;
1012-
use crate::types::{KnownClass, Parameter, Parameters, Signature, StringLiteralType, Type};
1012+
use crate::types::{KnownClass, Parameter, Parameters, Signature, Type};
10131013

10141014
#[test]
10151015
fn string_literal_display() {
10161016
let db = setup_db();
10171017

10181018
assert_eq!(
1019-
Type::StringLiteral(StringLiteralType::new(&db, r"\n"))
1020-
.display(&db)
1021-
.to_string(),
1019+
Type::string_literal(&db, r"\n").display(&db).to_string(),
10221020
r#"Literal["\\n"]"#
10231021
);
10241022
assert_eq!(
1025-
Type::StringLiteral(StringLiteralType::new(&db, "'"))
1026-
.display(&db)
1027-
.to_string(),
1023+
Type::string_literal(&db, "'").display(&db).to_string(),
10281024
r#"Literal["'"]"#
10291025
);
10301026
assert_eq!(
1031-
Type::StringLiteral(StringLiteralType::new(&db, r#"""#))
1032-
.display(&db)
1033-
.to_string(),
1027+
Type::string_literal(&db, r#"""#).display(&db).to_string(),
10341028
r#"Literal["\""]"#
10351029
);
10361030
}

crates/ty_python_semantic/src/types/infer.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,9 @@ use crate::types::{
113113
CallDunderError, CallableType, ClassLiteral, ClassType, DataclassParams, DynamicType,
114114
IntersectionBuilder, IntersectionType, KnownClass, KnownInstanceType, LintDiagnosticGuard,
115115
MemberLookupPolicy, MetaclassCandidate, PEP695TypeAliasType, Parameter, ParameterForm,
116-
Parameters, SpecialFormType, StringLiteralType, SubclassOfType, Truthiness, Type,
117-
TypeAliasType, TypeAndQualifiers, TypeIsType, TypeQualifiers, TypeVarBoundOrConstraints,
118-
TypeVarInstance, TypeVarKind, TypeVarVariance, UnionBuilder, UnionType, binding_type,
119-
todo_type,
116+
Parameters, SpecialFormType, SubclassOfType, Truthiness, Type, TypeAliasType,
117+
TypeAndQualifiers, TypeIsType, TypeQualifiers, TypeVarBoundOrConstraints, TypeVarInstance,
118+
TypeVarKind, TypeVarVariance, UnionBuilder, UnionType, binding_type, todo_type,
120119
};
121120
use crate::unpack::{Unpack, UnpackPosition};
122121
use crate::util::diagnostics::format_enumeration;
@@ -3462,7 +3461,7 @@ impl<'db, 'ast> TypeInferenceBuilder<'db, 'ast> {
34623461
db,
34633462
"__setattr__",
34643463
&mut CallArgumentTypes::positional([
3465-
Type::StringLiteral(StringLiteralType::new(db, attribute)),
3464+
Type::string_literal(db, attribute),
34663465
value_ty,
34673466
]),
34683467
MemberLookupPolicy::MRO_NO_OBJECT_FALLBACK,

0 commit comments

Comments
 (0)