Avatar for the astral-sh user
astral-sh
ruff
BlogDocsChangelog

[ty] Infer class attributes assigned by metaclass initialization

#25342
Comparing
charlie/codex-metaclass-init-class-attributes
(
d9067e7
) with
main
(
330a334
)
CodSpeed Performance Gauge
0%
Untouched
63
Skipped
60

Benchmarks

123 total
multithreaded
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+2%
1.1 s1.1 s
ty_micro[typevar_mapping_small_accumulations]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_typevar_mapping_small_accumulations
CodSpeed Performance Gauge
+1%
185.6 ms183.3 ms
ty_micro[typeis_narrowing]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_typeis_narrowing
CodSpeed Performance Gauge
+1%
194.2 ms193.2 ms
ty_micro[typevar_mapping_accumulation]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_typevar_mapping_large_accumulation
CodSpeed Performance Gauge
0%
319.1 ms317.7 ms
ty_micro[many_enum_members]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members
CodSpeed Performance Gauge
0%
97.1 ms96.7 ms
ty_micro[literal_equality_fallthrough_guarded_any]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_literal_equality_fallthrough_guarded_any
CodSpeed Performance Gauge
0%
176.6 ms175.8 ms
ty_micro[complex_constrained_attributes_3]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_3
CodSpeed Performance Gauge
0%
77.9 ms77.5 ms
ty_micro[many_enum_members_2]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members_2
CodSpeed Performance Gauge
0%
92.7 ms92.3 ms
ty_micro[many_string_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_string_assignments
CodSpeed Performance Gauge
0%
82 ms81.7 ms
anyio
crates/ruff_benchmark/benches/ty.rs::project::anyio::project
CodSpeed Performance Gauge
0%
1.2 s1.2 s
attrs
crates/ruff_benchmark/benches/ty.rs::project::attrs::project
CodSpeed Performance Gauge
0%
513.6 ms511.9 ms
ty_micro[literal_match_fallthrough_guarded_any]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_literal_match_fallthrough_guarded_any
CodSpeed Performance Gauge
0%
268.1 ms267.3 ms
ty_check_file[cold]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_cold
CodSpeed Performance Gauge
0%
152 ms151.6 ms
ty_micro[gradual_vararg_call]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_gradual_vararg_call
CodSpeed Performance Gauge
0%
71.7 ms71.6 ms
ty_micro[very_large_tuple]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_very_large_tuple
CodSpeed Performance Gauge
0%
73.3 ms73.1 ms
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_tuple_assignments
CodSpeed Performance Gauge
0%
63.3 ms63.1 ms
ty_check_file[incremental]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_incremental
CodSpeed Performance Gauge
0%
8 ms8 ms
ty_micro[vararg_parameter_type_accumulation]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_vararg_parameter_type_accumulation
CodSpeed Performance Gauge
0%
61.2 ms61.1 ms
DateType
crates/ruff_benchmark/benches/ty.rs::project::datetype::project
CodSpeed Performance Gauge
0%
222.5 ms222 ms
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_tuple_implicit_instance_attributes
CodSpeed Performance Gauge
0%
71.1 ms70.9 ms
ty_micro[pandas_tdd]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_pandas_tdd
CodSpeed Performance Gauge
0%
241.6 ms241.1 ms
ty_micro[many_protocol_members_mismatch]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_protocol_members_mismatch
CodSpeed Performance Gauge
0%
371 ms370.3 ms
hydra-zen
crates/ruff_benchmark/benches/ty.rs::project::hydra::project
CodSpeed Performance Gauge
0%
1.1 s1.1 s
ty_micro[complex_constrained_attributes_1]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_1
CodSpeed Performance Gauge
0%
71.6 ms71.5 ms
ty_micro[large_union_narrowing]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_large_union_narrowing
CodSpeed Performance Gauge
0%
535.4 ms534.8 ms

Commits

Click on a commit to change the comparison range
Base
main
330a334
-0.08%
[ty] Infer class attributes assigned by metaclass initialization
f3feec9
9 hours ago
by charliermarsh
+0.11%
[ty] Preserve declared metaclass-populated attributes
8bc2f52
9 hours ago
by charliermarsh
0%
[ty] Include specialized generic metaclass members in autocomplete
54a1b57
3 hours ago
by charliermarsh
-0.03%
[ty] Cover subclass views of generic metaclass members
d9067e7
1 hour ago
by charliermarsh
© 2026 CodSpeed Technology
Home Terms Privacy Docs