ty — Typing Conformance Report

ty ruff/0.15.5+45 (92a77f2a6 2026-03-09) · conformance suite b6411fa · 140 test files
TP (true positives): 807
FP (false positives): 145
FN (false negatives): 243
Optional: 21 detected / 75 total
Files passing: 73/140 (52%)
Test file Status TP FP FN Opt TP Opt FN
Type annotations (3/5 passing) 36 4 8
annotations_coroutines.py PASS 0 0 0 0 0
annotations_forward_refs.py 90% 19 4 0 3 0
annotations_generators.py 33% 2 0 8 0 3
annotations_methods.py PASS 0 0 0 1 1
annotations_typeexpr.py PASS 15 0 0 0 0
Type forms (0/1 passing) 15 25 1
typeforms_typeform.py 54% 15 25 1 0 0
Special types in annotations (4/5 passing) 14 9 2
specialtypes_any.py PASS 0 0 0 0 0
specialtypes_never.py PASS 3 0 0 0 0
specialtypes_none.py PASS 3 0 0 0 0
specialtypes_promotions.py PASS 1 0 0 0 0
specialtypes_type.py 56% 7 9 2 0 0
Generics (12/30 passing) 152 42 73
generics_base_class.py PASS 7 0 0 0 0
generics_basic.py 87% 10 0 3 0 0
generics_defaults.py 50% 5 9 1 0 0
generics_defaults_referential.py PASS 7 0 0 0 0
generics_defaults_specialization.py 67% 1 0 1 0 0
generics_paramspec_basic.py 83% 5 0 2 0 0
generics_paramspec_components.py 90% 13 0 3 0 0
generics_paramspec_semantics.py 53% 4 2 5 1 0
generics_paramspec_specialization.py PASS 5 0 0 0 0
generics_scoping.py 92% 12 0 2 0 1
generics_self_advanced.py PASS 0 0 0 0 0
generics_self_attributes.py PASS 2 0 0 0 0
generics_self_basic.py PASS 3 0 0 0 0
generics_self_protocols.py PASS 2 0 0 0 0
generics_self_usage.py 71% 6 0 5 0 0
generics_syntax_compatibility.py 0% 0 0 2 0 0
generics_syntax_declarations.py PASS 10 0 0 0 0
generics_syntax_infer_variance.py 78% 16 7 2 0 0
generics_syntax_scoping.py PASS 7 0 0 0 0
generics_type_erasure.py 44% 2 0 5 0 0
generics_typevartuple_args.py 0% 0 3 9 0 0
generics_typevartuple_basic.py 45% 5 1 11 0 0
generics_typevartuple_callable.py 0% 0 3 1 0 0
generics_typevartuple_concat.py 0% 0 1 0 0 0
generics_typevartuple_overloads.py PASS 0 0 0 0 0
generics_typevartuple_specialization.py 17% 2 16 4 0 0
generics_typevartuple_unpack.py 0% 0 0 1 0 0
generics_upper_bound.py PASS 4 0 0 0 0
generics_variance.py 11% 1 0 16 0 0
generics_variance_inference.py PASS 23 0 0 0 0
Type qualifiers (2/3 passing) 53 0 3
qualifiers_annotated.py PASS 20 0 0 0 0
qualifiers_final_annotation.py 94% 23 0 3 0 0
qualifiers_final_decorator.py PASS 10 0 0 0 0
Class type compatibility (2/2 passing) 22 0 0
classes_classvar.py PASS 17 0 0 0 1
classes_override.py PASS 5 0 0 0 0
Type aliases (1/7 passing) 90 3 33
aliases_explicit.py 93% 19 1 2 0 0
aliases_implicit.py 85% 17 1 5 0 0
aliases_newtype.py PASS 14 0 0 0 0
aliases_recursive.py 0% 0 0 11 0 0
aliases_type_statement.py 91% 25 1 4 0 0
aliases_typealiastype.py 81% 15 0 7 0 1
aliases_variance.py 0% 0 0 4 0 0
Literals (3/4 passing) 34 2 0
literals_interactions.py 80% 4 2 0 0 0
literals_literalstring.py PASS 9 0 0 0 0
literals_parameterizations.py PASS 17 0 0 0 0
literals_semantics.py PASS 4 0 0 0 0
Protocols (2/11 passing) 39 4 36
protocols_class_objects.py 20% 1 1 7 0 0
protocols_definition.py 76% 13 0 8 0 0
protocols_explicit.py 29% 1 0 5 0 0
protocols_generic.py 80% 6 0 3 0 0
protocols_merging.py 91% 5 0 1 0 0
protocols_modules.py 75% 3 2 0 0 0
protocols_recursive.py 0% 0 1 0 0 0
protocols_runtime_checkable.py 67% 3 0 3 0 0
protocols_self.py PASS 0 0 0 0 0
protocols_subtyping.py PASS 7 0 0 0 0
protocols_variance.py 0% 0 0 9 0 0
Callables (2/4 passing) 63 5 15
callables_annotation.py 74% 10 1 6 0 0
callables_kwargs.py 38% 4 4 9 0 2
callables_protocol.py PASS 17 0 0 0 0
callables_subtyping.py PASS 32 0 0 0 0
Constructors (1/6 passing) 21 16 8
constructors_call_init.py 60% 3 2 2 0 0
constructors_call_metaclass.py 67% 2 2 0 0 0
constructors_call_new.py 40% 2 6 0 0 0
constructors_call_type.py 77% 5 0 3 0 0
constructors_callable.py 67% 9 6 3 0 0
constructors_consistency.py PASS 0 0 0 0 1
Overloads (4/5 passing) 25 0 4
overloads_basic.py PASS 1 0 0 0 0
overloads_consistency.py 0% 0 0 4 0 0
overloads_definitions.py PASS 12 0 0 0 0
overloads_definitions_stub.pyi PASS 8 0 0 0 0
overloads_evaluation.py PASS 4 0 0 0 0
Exceptions (0/1 passing) 0 2 0
exceptions_context_managers.py 0% 0 2 0 0 0
Dataclasses (10/16 passing) 61 9 9
dataclasses_descriptors.py 0% 0 2 0 0 0
dataclasses_final.py PASS 5 0 0 0 0
dataclasses_frozen.py PASS 4 0 0 0 0
dataclasses_hash.py 67% 2 0 2 0 0
dataclasses_inheritance.py 0% 0 0 2 0 1
dataclasses_kwonly.py PASS 3 0 0 0 0
dataclasses_match_args.py 67% 1 1 0 0 0
dataclasses_order.py PASS 1 0 0 0 0
dataclasses_postinit.py PASS 4 0 0 0 0
dataclasses_slots.py 50% 2 0 4 0 0
dataclasses_transform_class.py PASS 6 0 0 0 0
dataclasses_transform_converter.py 70% 8 6 1 0 0
dataclasses_transform_field.py PASS 2 0 0 0 0
dataclasses_transform_func.py PASS 6 0 0 0 0
dataclasses_transform_meta.py PASS 6 0 0 0 0
dataclasses_usage.py PASS 11 0 0 0 1
Typed dictionaries (7/14 passing) 60 21 41
typeddicts_alt_syntax.py 0% 0 0 4 0 3
typeddicts_class_syntax.py PASS 5 0 0 0 0
typeddicts_extra_items.py 26% 8 21 25 0 0
typeddicts_final.py PASS 0 0 0 0 0
typeddicts_inheritance.py 40% 1 0 3 0 0
typeddicts_operations.py PASS 11 0 0 0 1
typeddicts_readonly.py 91% 5 0 1 0 0
typeddicts_readonly_consistency.py PASS 7 0 0 0 0
typeddicts_readonly_inheritance.py 62% 5 0 6 0 0
typeddicts_readonly_kwargs.py 0% 0 0 1 0 0
typeddicts_readonly_update.py 0% 0 0 1 0 0
typeddicts_required.py PASS 4 0 0 0 0
typeddicts_type_consistency.py PASS 9 0 0 1 1
typeddicts_usage.py PASS 5 0 0 0 0
Tuples (3/3 passing) 40 0 0
tuples_type_compat.py PASS 24 0 0 0 0
tuples_type_form.py PASS 11 0 0 0 0
tuples_unpacked.py PASS 5 0 0 0 0
Named tuples (2/4 passing) 31 0 2
namedtuples_define_class.py 96% 13 0 1 0 0
namedtuples_define_functional.py PASS 9 0 0 4 0
namedtuples_type_compat.py PASS 2 0 0 0 0
namedtuples_usage.py 93% 7 0 1 0 0
Enumerations (5/6 passing) 12 1 1
enums_behaviors.py PASS 3 0 0 0 0
enums_definition.py PASS 0 0 0 0 16
enums_expansion.py 0% 0 1 1 0 2
enums_member_names.py PASS 0 0 0 0 4
enums_member_values.py PASS 2 0 0 3 6
enums_members.py PASS 7 0 0 2 0
Type narrowing (1/2 passing) 13 1 0
narrowing_typeguard.py PASS 4 0 0 0 0
narrowing_typeis.py 95% 9 1 0 0 0
Type checker directives (8/10 passing) 22 1 7
directives_assert_type.py PASS 7 0 0 0 1
directives_cast.py PASS 3 0 0 0 0
directives_deprecated.py 59% 5 0 7 1 2
directives_no_type_check.py PASS 1 0 0 2 2
directives_reveal_type.py PASS 2 0 0 0 0
directives_type_checking.py 0% 0 1 0 0 0
directives_type_ignore.py PASS 0 0 0 0 0
directives_type_ignore_file1.py PASS 0 0 0 0 0
directives_type_ignore_file2.py PASS 1 0 0 0 0
directives_version_platform.py PASS 3 0 0 2 4
Historical and deprecated features (1/1 passing) 4 0 0
historical_positional.py PASS 4 0 0 1 0