Skip to content

fix mypy issues #109

@dave-doty

Description

@dave-doty

I've been using the PyCharm IDE, which I wrongly assumed runs the mypy static analysis tool, but clearly it doesn't. Here's the errors it finds, which should be fixed:

$ mypy scadnano/scadnano.py
scadnano\scadnano.py:145: error: Incompatible types in assignment (expression has type "None", variable has type "int")
scadnano\scadnano.py:151: error: Incompatible types in assignment (expression has type "None", variable has type "int")
scadnano\scadnano.py:156: error: Incompatible types in assignment (expression has type "None", variable has type "int")
scadnano\scadnano.py:794: error: Incompatible types in assignment (expression has type "None", variable has type "str")
scadnano\scadnano.py:805: error: Incompatible types in assignment (expression has type "bool", target has type "str")
scadnano\scadnano.py:934: error: Cannot find implementation or library stub for module named 'pyodide'
scadnano\scadnano.py:934: note: See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports
scadnano\scadnano.py:960: error: Incompatible types in assignment (expression has type "None", variable has type "int")
scadnano\scadnano.py:974: error: Incompatible types in assignment (expression has type "None", variable has type "List[int]")
scadnano\scadnano.py:978: error: Incompatible types in assignment (expression has type "None", variable has type "Tuple[int, int]")
scadnano\scadnano.py:999: error: Incompatible types in assignment (expression has type "None", variable has type "Position3D")
scadnano\scadnano.py:1022: error: Incompatible types in assignment (expression has type "None", variable has type "int")
scadnano\scadnano.py:1062: error: Incompatible types in assignment (expression has type "float", target has type "int")
scadnano\scadnano.py:1064: error: Incompatible types in assignment (expression has type "float", target has type "int")
scadnano\scadnano.py:1066: error: Incompatible types in assignment (expression has type "float", target has type "int")
scadnano\scadnano.py:1073: error: Incompatible types in assignment (expression has type "object", target has type "int")
scadnano\scadnano.py:1121: error: Argument "major_tick_distance" to "Helix" has incompatible type "Optional[Any]"; expected "int"
scadnano\scadnano.py:1122: error: Argument "major_ticks" to "Helix" has incompatible type "Optional[Any]"; expected "List[int]"
scadnano\scadnano.py:1123: error: Argument "grid_position" to "Helix" has incompatible type "Optional[Tuple[Any, ...]]"; expected "Tuple[int, int]"
scadnano\scadnano.py:1124: error: Argument "min_offset" to "Helix" has incompatible type "Optional[Any]"; expected "int"
scadnano\scadnano.py:1125: error: Argument "max_offset" to "Helix" has incompatible type "Optional[Any]"; expected "int"
scadnano\scadnano.py:1126: error: Argument "position" to "Helix" has incompatible type "Optional[Position3D]"; expected "Position3D"
scadnano\scadnano.py:1130: error: Argument "idx" to "Helix" has incompatible type "Optional[Any]"; expected "int"
scadnano\scadnano.py:1196: error: Incompatible types in assignment (expression has type "None", variable has type "DomainLabel")
scadnano\scadnano.py:1206: error: Argument "default" to "field" has incompatible type "None"; expected "Strand[Any, Any]"
scadnano\scadnano.py:1229: error: Incompatible types in assignment (expression has type "StrandLabel", variable has type "DomainLabel")
scadnano\scadnano.py:1243: error: Incompatible types in assignment (expression has type "List[int]", target has type "int")
scadnano\scadnano.py:1245: error: Incompatible types in assignment (expression has type "List[Tuple[int, int]]", target has type "int")
scadnano\scadnano.py:1247: error: Incompatible types in assignment (expression has type "DomainLabel", target has type "int")
scadnano\scadnano.py:1538: error: Argument "default" to "field" has incompatible type "None"; expected "Strand[Any, Any]"
scadnano\scadnano.py:1702: error: Type variable "scadnano.scadnano.DomainLabel" is unbound
scadnano\scadnano.py:1702: note: (Hint: Use "Generic[DomainLabel]" or "Protocol[DomainLabel]" base class to bind "DomainLabel" inside a class)
scadnano\scadnano.py:1702: note: (Hint: Use "DomainLabel" in function signature to bind "DomainLabel" inside a function)
scadnano\scadnano.py:1770: error: Need type annotation for 'domain'
scadnano\scadnano.py:1822: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "set_scaffold"
scadnano\scadnano.py:1832: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "set_modification_5p"
scadnano\scadnano.py:1842: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "set_modification_3p"
scadnano\scadnano.py:1855: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "set_modification_internal"
scadnano\scadnano.py:1865: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "set_color"
scadnano\scadnano.py:1883: error: Argument "strand" to "assign_dna" of "DNADesign" has incompatible type "Optional[Strand[Any, Any]]"; expected "Strand[Any, Any]"
scadnano\scadnano.py:1909: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "domains"
scadnano\scadnano.py:1910: error: Argument "strand" to "assign_dna" of "DNADesign" has incompatible type "Optional[Strand[Any, Any]]"; expected "Strand[Any, Any]"
scadnano\scadnano.py:1925: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "set_label"
scadnano\scadnano.py:1948: error: Item "None" of "Optional[Strand[Any, Any]]" has no attribute "domains"
scadnano\scadnano.py:1949: error: Item "Loopout" of "Union[Domain[Any], Loopout, Any]" has no attribute "set_label"
scadnano\scadnano.py:2046: error: Incompatible types in assignment (expression has type "None", variable has type "StrandLabel")
scadnano\scadnano.py:2057: error: Argument "default" to "field" has incompatible type "None"; expected "Dict[int, List[Domain[DomainLabel]]]"
scadnano\scadnano.py:2110: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object"
scadnano\scadnano.py:2110: note: This violates the Liskov substitution principlescadnano\scadnano.py:2110: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides
scadnano\scadnano.py:2110: note: It is recommended for "__eq__" to work with arbitrary objects, for example:
scadnano\scadnano.py:2110: note:     def __eq__(self, other: object) -> bool:
scadnano\scadnano.py:2110: note:         if not isinstance(other, Strand):
scadnano\scadnano.py:2110: note:             return NotImplemented
scadnano\scadnano.py:2110: note:         return <logic to compare two Strand instances>
scadnano\scadnano.py:2213: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:2213: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:2227: error: List comprehension has incompatible type List[Union[Domain[DomainLabel], Loopout]]; expected List[Domain[DomainLabel]]
scadnano\scadnano.py:2231: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:2235: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "offset_3p"
scadnano\scadnano.py:2279: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:2286: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "overlaps"
scadnano\scadnano.py:2287: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "compute_overlap"
scadnano\scadnano.py:2293: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "start"
scadnano\scadnano.py:2297: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "dna_length_in"
scadnano\scadnano.py:2301: error: Argument 1 to "wc" has incompatible type "Optional[str]"; expected "str"
scadnano\scadnano.py:2308: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "dna_length_in"
scadnano\scadnano.py:2308: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "end"
scadnano\scadnano.py:2315: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "forward"
scadnano\scadnano.py:2323: error: Argument 2 to "_string_merge_wildcard" has incompatible type "Optional[str]"; expected "str"
scadnano\scadnano.py:2327: error: Argument 1 to "join" of "str" has incompatible type "List[Optional[str]]"; expected "Iterable[str]"
scadnano\scadnano.py:2335: error: Incompatible types in assignment (expression has type "Union[Domain[Any], Loopout]", variable has type "Domain[Any]")
scadnano\scadnano.py:2336: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:2336: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:2374: error: Argument 1 to "dna_index_start_domain" of "Strand" has incompatible type "Union[Domain[DomainLabel], Loopout]"; expected "Domain[DomainLabel]"
scadnano\scadnano.py:2381: error: Incompatible types in assignment (expression has type "None", variable has type "Strand[Any, Any]")
scadnano\scadnano.py:2383: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:2383: error: Argument 1 to "remove" of "list" has incompatible type "Union[Domain[DomainLabel], Loopout]"; expected "Domain[DomainLabel]"
scadnano\scadnano.py:2409: error: Missing return statement
scadnano\scadnano.py:2417: error: Incompatible return value type (got "Union[Domain[DomainLabel], Loopout]", expected "Domain[DomainLabel]")
scadnano\scadnano.py:2419: error: Missing return statement
scadnano\scadnano.py:2429: error: Incompatible return value type (got "Union[Domain[DomainLabel], Loopout]", expected "Domain[DomainLabel]")
scadnano\scadnano.py:2808: error: Incompatible types in assignment (expression has type "None", variable has type "Dict[int, Helix]")
scadnano\scadnano.py:2834: error: Incompatible types in assignment (expression has type "None", variable has type "List[int]")
scadnano\scadnano.py:2885: error: Incompatible types in assignment (expression has type "Union[List[Helix], Dict[int, Helix], None]", variable has type "Dict[int, Helix]")
scadnano\scadnano.py:2886: error: Incompatible types in assignment (expression has type "Optional[List[Strand[Any, Any]]]", variable has type "List[Strand[Any, Any]]")
scadnano\scadnano.py:2889: error: Incompatible types in assignment (expression has type "Optional[List[int]]", variable has type "List[int]")
scadnano\scadnano.py:3070: error: Incompatible types in assignment (expression has type "int", target has type "str")
scadnano\scadnano.py:3072: error: Incompatible types in assignment (expression has type "List[Any]", target has type "str")
scadnano\scadnano.py:3078: error: Incompatible types in assignment (expression has type "List[Any]", variable has type "str")
scadnano\scadnano.py:3078: error: "str" has no attribute "value"
scadnano\scadnano.py:3079: error: Argument 1 to "remove_helix_idxs_if_default" has incompatible type "str"; expected "List[Dict[Any, Any]]"
scadnano\scadnano.py:3083: error: Incompatible types in assignment (expression has type "NoIndent", target has type "str")
scadnano\scadnano.py:3092: error: Incompatible types in assignment (expression has type "Dict[str, Any]", target has type "str")
scadnano\scadnano.py:3094: error: Incompatible types in assignment (expression has type "List[Any]", target has type "str")
scadnano\scadnano.py:3099: error: "str" has no attribute "value"
scadnano\scadnano.py:3105: error: Invalid index type "str" for "str"; expected type "Union[int, slice]"
scadnano\scadnano.py:3106: error: "str" has no attribute "__delitem__"; maybe "__getitem__"?
scadnano\scadnano.py:3143: error: Incompatible types in assignment (expression has type "Modification", variable has type "Optional[Modification5Prime]")
scadnano\scadnano.py:3146: error: Incompatible types in assignment (expression has type "Modification", variable has type "Optional[Modification3Prime]")
scadnano\scadnano.py:3151: error: Incompatible types in assignment (expression has type "Modification", target has type "ModificationInternal")
scadnano\scadnano.py:3204: error: Need type annotation for 'domains' (hint: "domains: List[<type>] = ...")
scadnano\scadnano.py:3271: error: Need type annotation for 'strand'
scadnano\scadnano.py:3281: error: Argument 1 to "join" has incompatible type "Optional[str]"; expected "Union[str, _PathLike[str]]"
scadnano\scadnano.py:3281: error: Argument 2 to "join" has incompatible type "Optional[str]"; expected "Union[str, _PathLike[str]]"
scadnano\scadnano.py:3309: error: Need type annotation for 'seen'
scadnano\scadnano.py:3423: error: Argument 1 to "assign_dna" of "DNADesign" has incompatible type "Optional[Strand[Any, Any]]"; expected "Strand[Any, Any]"
scadnano\scadnano.py:3502: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3506: error: Argument 1 to "_cadnano_v2_color_of_stap" of "DNADesign" has incompatible type "Optional[Color]"; expected "Color"
scadnano\scadnano.py:3506: error: Argument 2 to "_cadnano_v2_color_of_stap" of "DNADesign" has incompatible type "Union[Domain[Any], Loopout]"; expected "Domain[Any]"
scadnano\scadnano.py:3508: error: Argument 2 to "_cadnano_v2_place_strand_segment" of "DNADesign" has incompatible type "Union[Domain[Any], Loopout]"; expected "Domain[Any]"
scadnano\scadnano.py:3512: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3515: error: Argument 3 to "_cadnano_v2_place_crossover" of "DNADesign" has incompatible type "Union[Domain[Any], Loopout]"; expected "Domain[Any]"
scadnano\scadnano.py:3515: error: Argument 4 to "_cadnano_v2_place_crossover" of "DNADesign" has incompatible type "Union[Domain[Any], Loopout]"; expected "Domain[Any]"
scadnano\scadnano.py:3532: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3533: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3534: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3535: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3538: error: "int" has no attribute "append"
scadnano\scadnano.py:3539: error: "int" has no attribute "append"
scadnano\scadnano.py:3540: error: "int" has no attribute "append"
scadnano\scadnano.py:3541: error: "int" has no attribute "append"
scadnano\scadnano.py:3543: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3544: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3545: error: Incompatible types in assignment (expression has type "List[<nothing>]", target has type "int")
scadnano\scadnano.py:3641: error: Incompatible types in assignment (expression has type "Optional[Any]", variable has type "int")
scadnano\scadnano.py:3663: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3668: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3755: error: Item "Domain[Any]" of "Union[Domain[Any], Loopout]" has no attribute "length"
scadnano\scadnano.py:3756: error: Item "Domain[Any]" of "Union[Domain[Any], Loopout]" has no attribute "length"
scadnano\scadnano.py:3766: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3767: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3774: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3775: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "start"
scadnano\scadnano.py:3776: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "start"
scadnano\scadnano.py:3776: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3780: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "end"
scadnano\scadnano.py:3781: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "end"
scadnano\scadnano.py:3781: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3814: error: Need type annotation for 'domain'
scadnano\scadnano.py:3839: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3840: error: Argument "domain_to_check" to "_check_strands_overlap_legally" of "DNADesign" has incompatible type "Union[Domain[Any], Loopout]"; expected "Optional[Domain[Any]]"
scadnano\scadnano.py:3849: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3864: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3865: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3874: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3875: error: Argument "domain_to_check" to "_check_strands_overlap_legally" of "DNADesign" has incompatible type "Union[Domain[DomainLabel], Loopout]"; expected "Optional[Domain[DomainLabel]]"
scadnano\scadnano.py:3882: error: Item "Loopout" of "Union[Domain[DomainLabel], Loopout]" has no attribute "helix"
scadnano\scadnano.py:3925: error: Need type annotation for 'domains'
scadnano\scadnano.py:3935: error: Need type annotation for 'domains'
scadnano\scadnano.py:3958: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "start"
scadnano\scadnano.py:3959: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "end"
scadnano\scadnano.py:3967: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4024: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4024: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:4043: error: Unsupported right operand type for in ("Optional[str]")
scadnano\scadnano.py:4076: error: Item "None" of "Optional[IDTFields]" has no attribute "name"
scadnano\scadnano.py:4076: error: Item "None" of "Optional[IDTFields]" has no attribute "scale"
scadnano\scadnano.py:4076: error: Item "None" of "Optional[IDTFields]" has no attribute "purification"
scadnano\scadnano.py:4090: error: Item "None" of "Optional[IDTFields]" has no attribute "name"
scadnano\scadnano.py:4095: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4095: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:4101: error: Item "None" of "Optional[IDTFields]" has no attribute "scale"
scadnano\scadnano.py:4103: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4103: error: Item "None" of "Optional[IDTFields]" has no attribute "scale"
scadnano\scadnano.py:4103: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:4109: error: Item "None" of "Optional[IDTFields]" has no attribute "purification"
scadnano\scadnano.py:4111: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4111: error: Item "None" of "Optional[IDTFields]" has no attribute "purification"
scadnano\scadnano.py:4111: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:4119: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4119: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:4127: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "helix"
scadnano\scadnano.py:4127: error: Item "Loopout" of "Union[Domain[Any], Loopout]" has no attribute "offset_5p"
scadnano\scadnano.py:4209: error: Argument 2 to "_write_plates_assuming_explicit_in_each_strand" of "DNADesign" has incompatible type "Optional[str]"; expected "str"
scadnano\scadnano.py:4211: error: Argument "filename" to "_write_plates_default" of "DNADesign" has incompatible type "Optional[str]"; expected "str"
scadnano\scadnano.py:4233: error: Item "None" of "Optional[IDTFields]" has no attribute "well"
scadnano\scadnano.py:4233: error: Value of type "Union[str, None, Any]" is not indexable
scadnano\scadnano.py:4236: error: Item "None" of "Optional[IDTFields]" has no attribute "well"
scadnano\scadnano.py:4237: error: Item "None" of "Optional[IDTFields]" has no attribute "name"
scadnano\scadnano.py:4252: error: Skipping analyzing 'xlwt': found module but no type hints or library stubs
scadnano\scadnano.py:4272: error: Item "None" of "Optional[IDTFields]" has no attribute "plate"
scadnano\scadnano.py:4274: error: Item "None" of "Optional[IDTFields]" has no attribute "plate"
scadnano\scadnano.py:4276: error: Item "None" of "Optional[IDTFields]" has no attribute "well"
scadnano\scadnano.py:4278: error: Item "None" of "Optional[IDTFields]" has no attribute "well"
scadnano\scadnano.py:4283: error: Item "None" of "Optional[IDTFields]" has no attribute "name"
scadnano\scadnano.py:4370: error: Need type annotation for 'domain_to_remove'
scadnano\scadnano.py:4381: error: Need type annotation for 'domain_left'
scadnano\scadnano.py:4382: error: Need type annotation for 'domain_right'
scadnano\scadnano.py:4392: error: Generator has incompatible item type "Optional[str]"; expected "str"
scadnano\scadnano.py:4393: error: Generator has incompatible item type "Optional[str]"; expected "str"
scadnano\scadnano.py:4405: error: Unsupported operand types for + ("str" and "None")
scadnano\scadnano.py:4405: note: Right operand is of type "Optional[str]"
scadnano\scadnano.py:4406: error: Unsupported left operand type for + ("None")
scadnano\scadnano.py:4406: note: Left operand is of type "Optional[str]"
scadnano\scadnano.py:4408: error: Incompatible types in assignment (expression has type "None", variable has type "str")
scadnano\scadnano.py:4414: error: Need type annotation for 'strand_before'
scadnano\scadnano.py:4418: error: Need type annotation for 'strand_after'
scadnano\scadnano.py:4418: error: Argument "domains" to "Strand" has incompatible type "List[Domain[Any]]"; expected "List[Union[Domain[Any], Loopout]]"
scadnano\scadnano.py:4418: note: "List" is invariant -- see http://mypy.readthedocs.io/en/latest/common_issues.html#variance
scadnano\scadnano.py:4418: note: Consider using "Sequence" instead, which is covariant
scadnano\scadnano.py:4418: error: Unsupported operand types for + ("List[Domain[Any]]" and "List[Union[Domain[Any], Loopout]]")
scadnano\scadnano.py:4494: error: Need type annotation for 'new_strand'
scadnano\scadnano.py:4753: error: Incompatible types in assignment (expression has type "None", variable has type "int")
scadnano\scadnano.py:4759: error: Incompatible types in assignment (expression has type "None", variable has type "bool")
Found 191 errors in 1 file (checked 1 source file)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions