pyrefly 0.5.0__tar.gz → 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (933) hide show
  1. {pyrefly-0.5.0 → pyrefly-0.6.0}/PKG-INFO +1 -1
  2. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/Cargo.lock +30 -24
  3. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/Cargo.toml +2 -2
  4. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/bin/main.rs +0 -1
  5. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/answers.rs +23 -7
  6. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/attr.rs +115 -34
  7. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/call.rs +36 -14
  8. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/callable.rs +29 -39
  9. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/typed_dict.rs +5 -6
  10. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/expr.rs +42 -37
  11. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/function.rs +12 -6
  12. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/id_cache.rs +7 -8
  13. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/narrow.rs +2 -2
  14. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/solve.rs +88 -109
  15. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/bindings.rs +73 -24
  16. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/class.rs +2 -1
  17. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/expr.rs +39 -13
  18. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/function.rs +15 -7
  19. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/scope.rs +33 -3
  20. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/stmt.rs +22 -8
  21. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/commands/check.rs +25 -8
  22. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/commands/lsp.rs +15 -15
  23. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/commands/mod.rs +1 -0
  24. pyrefly-0.6.0/pyre2/lib/commands/suppress.rs +181 -0
  25. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/config.rs +10 -9
  26. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/dunder.rs +1 -0
  27. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/collector.rs +2 -2
  28. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/error.rs +9 -4
  29. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/kind.rs +2 -0
  30. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/legacy.rs +2 -2
  31. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/metadata.rs +8 -0
  32. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/solver/solver.rs +17 -18
  33. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/state.rs +1 -8
  34. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/subscriber.rs +63 -9
  35. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/attributes.rs +108 -3
  36. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/callable.rs +2 -27
  37. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/config.rs +31 -0
  38. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/constructors.rs +6 -7
  39. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/decorators.rs +75 -0
  40. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/enums.rs +14 -0
  41. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/legacy_generic.rs +3 -3
  42. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/lsp/lsp_interaction.rs +73 -2
  43. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/mod.rs +1 -0
  44. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/narrow.rs +25 -4
  45. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/overload.rs +12 -12
  46. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/protocol.rs +15 -0
  47. pyrefly-0.6.0/pyre2/lib/test/scope.rs +126 -0
  48. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/simple.rs +67 -55
  49. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/state.rs +76 -56
  50. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/tuple.rs +15 -13
  51. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/type_alias.rs +14 -2
  52. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/class.rs +57 -27
  53. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/equality.rs +118 -5
  54. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/param_spec.rs +1 -2
  55. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/qname.rs +8 -0
  56. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/type_var.rs +1 -1
  57. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/type_var_tuple.rs +1 -2
  58. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/globs.rs +157 -48
  59. pyrefly-0.6.0/pyre2/lib/util/listing.rs +14 -0
  60. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/visit.rs +9 -9
  61. pyrefly-0.6.0/pyre2/version.bzl +16 -0
  62. pyrefly-0.5.0/pyre2/lib/util/listing.rs +0 -23
  63. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyproject.toml +0 -0
  64. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/.gitignore +0 -0
  65. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/build.rs +0 -0
  66. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/class_field.rs +0 -0
  67. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/class_metadata.rs +0 -0
  68. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/classdef.rs +0 -0
  69. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/dataclass.rs +0 -0
  70. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/enums.rs +0 -0
  71. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/mod.rs +0 -0
  72. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/named_tuple.rs +0 -0
  73. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/class/new_type.rs +0 -0
  74. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/mod.rs +0 -0
  75. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/special_calls.rs +0 -0
  76. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/specials.rs +0 -0
  77. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/traits.rs +0 -0
  78. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/types/class_metadata.rs +0 -0
  79. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/types/decorated_function.rs +0 -0
  80. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/types/legacy_lookup.rs +0 -0
  81. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/types/mod.rs +0 -0
  82. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/types/yields.rs +0 -0
  83. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/alt/unwrap.rs +0 -0
  84. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/binding.rs +0 -0
  85. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/mod.rs +0 -0
  86. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/narrow.rs +0 -0
  87. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/pattern.rs +0 -0
  88. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/table.rs +0 -0
  89. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/binding/target.rs +0 -0
  90. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/commands/buck_check.rs +0 -0
  91. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/commands/run.rs +0 -0
  92. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/commands/util.rs +0 -0
  93. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/context.rs +0 -0
  94. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/display.rs +0 -0
  95. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/expectation.rs +0 -0
  96. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/mod.rs +0 -0
  97. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/style.rs +0 -0
  98. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/error/summarise.rs +0 -0
  99. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/export/definitions.rs +0 -0
  100. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/export/exports.rs +0 -0
  101. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/export/mod.rs +0 -0
  102. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/export/special.rs +0 -0
  103. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/graph/calculation.rs +0 -0
  104. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/graph/index.rs +0 -0
  105. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/graph/index_map.rs +0 -0
  106. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/graph/mod.rs +0 -0
  107. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/lib.rs +4 -4
  108. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/bundled.rs +0 -0
  109. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/display.rs +0 -0
  110. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/finder.rs +0 -0
  111. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/ignore.rs +0 -0
  112. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/mod.rs +0 -0
  113. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/module_info.rs +0 -0
  114. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/module_name.rs +0 -0
  115. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/module_path.rs +0 -0
  116. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/short_identifier.rs +0 -0
  117. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/module/source_db.rs +0 -0
  118. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/playground.rs +0 -0
  119. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/report/binding_memory.rs +0 -0
  120. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/report/debug_info.rs +0 -0
  121. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/report/mod.rs +0 -0
  122. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/report/trace.rs +0 -0
  123. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/ruff/ast.rs +0 -0
  124. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/ruff/mod.rs +0 -0
  125. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/ruff/text_range.rs +0 -0
  126. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/ruff/visitors.rs +0 -0
  127. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/solver/mod.rs +0 -0
  128. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/solver/subset.rs +0 -0
  129. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/solver/type_order.rs +0 -0
  130. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/dirty.rs +0 -0
  131. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/epoch.rs +0 -0
  132. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/handle.rs +0 -0
  133. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/loader.rs +0 -0
  134. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/lsp.rs +0 -0
  135. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/mod.rs +0 -0
  136. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/require.rs +0 -0
  137. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/state/steps.rs +0 -0
  138. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/assign.rs +0 -0
  139. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/class_keywords.rs +0 -0
  140. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/class_overrides.rs +0 -0
  141. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/class_subtyping.rs +0 -0
  142. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/class_super.rs +0 -0
  143. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/contextual.rs +0 -0
  144. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/dataclasses.rs +0 -0
  145. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/descriptors.rs +0 -0
  146. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/flow.rs +0 -0
  147. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/imports.rs +0 -0
  148. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/lsp/completion.rs +0 -0
  149. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/lsp/definition.rs +0 -0
  150. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/lsp/hover.rs +0 -0
  151. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/lsp/inlay_hint.rs +0 -0
  152. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/lsp/mod.rs +0 -0
  153. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/mro.rs +0 -0
  154. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/named_tuple.rs +0 -0
  155. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/new_type.rs +0 -0
  156. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/operators.rs +0 -0
  157. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/paramspec.rs +0 -0
  158. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/perf.rs +0 -0
  159. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/returns.rs +0 -0
  160. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/type_var_tuple.rs +0 -0
  161. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/typed_dict.rs +0 -0
  162. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/util.rs +0 -0
  163. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/with.rs +0 -0
  164. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/test/yields.rs +0 -0
  165. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/alias.rs +0 -0
  166. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/annotation.rs +0 -0
  167. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/callable.rs +0 -0
  168. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/display.rs +0 -0
  169. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/literal.rs +0 -0
  170. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/mod.rs +0 -0
  171. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/module.rs +0 -0
  172. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/quantified.rs +0 -0
  173. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/simplify.rs +0 -0
  174. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/special_form.rs +0 -0
  175. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/stdlib.rs +0 -0
  176. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/tuple.rs +0 -0
  177. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/typed_dict.rs +0 -0
  178. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/types/types.rs +0 -0
  179. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/arc_id.rs +0 -0
  180. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/args.rs +0 -0
  181. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/assert_size.rs +0 -0
  182. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/display.rs +0 -0
  183. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/enum_heap.rs +0 -0
  184. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/exclusive_lock.rs +0 -0
  185. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/forgetter.rs +0 -0
  186. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/fs_anyhow.rs +0 -0
  187. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/lock.rs +0 -0
  188. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/locked_map.rs +0 -0
  189. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/memory.rs +0 -0
  190. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/mod.rs +0 -0
  191. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/mutable.rs +0 -0
  192. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/no_hash.rs +0 -0
  193. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/notify_watcher.rs +0 -0
  194. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/prelude.rs +0 -0
  195. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/recurser.rs +0 -0
  196. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/reduced_stdlib.rs +0 -0
  197. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/thread_pool.rs +0 -0
  198. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/trace.rs +0 -0
  199. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/uniques.rs +0 -0
  200. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/upgrade_lock.rs +0 -0
  201. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/watcher.rs +0 -0
  202. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/lib/util/with_hash.rs +0 -0
  203. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/rust-toolchain +0 -0
  204. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/__future__.pyi +0 -0
  205. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/__main__.pyi +0 -0
  206. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_ast.pyi +0 -0
  207. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_asyncio.pyi +0 -0
  208. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_bisect.pyi +0 -0
  209. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_blake2.pyi +0 -0
  210. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_bootlocale.pyi +0 -0
  211. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_bz2.pyi +0 -0
  212. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_codecs.pyi +0 -0
  213. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_collections_abc.pyi +0 -0
  214. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_compat_pickle.pyi +0 -0
  215. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_compression.pyi +0 -0
  216. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_contextvars.pyi +0 -0
  217. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_csv.pyi +0 -0
  218. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_ctypes.pyi +0 -0
  219. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_curses.pyi +0 -0
  220. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_curses_panel.pyi +0 -0
  221. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_dbm.pyi +0 -0
  222. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_decimal.pyi +0 -0
  223. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_dummy_thread.pyi +0 -0
  224. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_dummy_threading.pyi +0 -0
  225. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_frozen_importlib.pyi +0 -0
  226. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_frozen_importlib_external.pyi +0 -0
  227. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_gdbm.pyi +0 -0
  228. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_hashlib.pyi +0 -0
  229. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_heapq.pyi +0 -0
  230. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_imp.pyi +0 -0
  231. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_interpchannels.pyi +0 -0
  232. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_interpqueues.pyi +0 -0
  233. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_interpreters.pyi +0 -0
  234. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_io.pyi +0 -0
  235. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_json.pyi +0 -0
  236. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_locale.pyi +0 -0
  237. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_lsprof.pyi +0 -0
  238. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_lzma.pyi +0 -0
  239. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_markupbase.pyi +0 -0
  240. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_msi.pyi +0 -0
  241. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_multibytecodec.pyi +0 -0
  242. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_operator.pyi +0 -0
  243. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_osx_support.pyi +0 -0
  244. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_pickle.pyi +0 -0
  245. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_posixsubprocess.pyi +0 -0
  246. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_py_abc.pyi +0 -0
  247. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_pydecimal.pyi +0 -0
  248. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_queue.pyi +0 -0
  249. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_random.pyi +0 -0
  250. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_sitebuiltins.pyi +0 -0
  251. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_socket.pyi +0 -0
  252. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_sqlite3.pyi +0 -0
  253. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_ssl.pyi +0 -0
  254. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_stat.pyi +0 -0
  255. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_struct.pyi +0 -0
  256. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_thread.pyi +0 -0
  257. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_threading_local.pyi +0 -0
  258. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_tkinter.pyi +0 -0
  259. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_tracemalloc.pyi +0 -0
  260. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_typeshed/__init__.pyi +0 -0
  261. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_typeshed/dbapi.pyi +0 -0
  262. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_typeshed/importlib.pyi +0 -0
  263. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_typeshed/wsgi.pyi +0 -0
  264. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_typeshed/xml.pyi +0 -0
  265. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_warnings.pyi +0 -0
  266. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_weakref.pyi +0 -0
  267. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_weakrefset.pyi +0 -0
  268. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/_winapi.pyi +0 -0
  269. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/abc.pyi +0 -0
  270. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/aifc.pyi +0 -0
  271. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/antigravity.pyi +0 -0
  272. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/argparse.pyi +0 -0
  273. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/array.pyi +0 -0
  274. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ast.pyi +0 -0
  275. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asynchat.pyi +0 -0
  276. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/__init__.pyi +0 -0
  277. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/base_events.pyi +0 -0
  278. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/base_futures.pyi +0 -0
  279. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/base_subprocess.pyi +0 -0
  280. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/base_tasks.pyi +0 -0
  281. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/constants.pyi +0 -0
  282. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/coroutines.pyi +0 -0
  283. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/events.pyi +0 -0
  284. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/exceptions.pyi +0 -0
  285. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/format_helpers.pyi +0 -0
  286. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/futures.pyi +0 -0
  287. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/locks.pyi +0 -0
  288. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/log.pyi +0 -0
  289. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/mixins.pyi +0 -0
  290. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/proactor_events.pyi +0 -0
  291. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/protocols.pyi +0 -0
  292. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/queues.pyi +0 -0
  293. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/runners.pyi +0 -0
  294. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/selector_events.pyi +0 -0
  295. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/sslproto.pyi +0 -0
  296. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/staggered.pyi +0 -0
  297. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/streams.pyi +0 -0
  298. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/subprocess.pyi +0 -0
  299. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/taskgroups.pyi +0 -0
  300. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/tasks.pyi +0 -0
  301. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/threads.pyi +0 -0
  302. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/timeouts.pyi +0 -0
  303. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/transports.pyi +0 -0
  304. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/trsock.pyi +0 -0
  305. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/unix_events.pyi +0 -0
  306. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/windows_events.pyi +0 -0
  307. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncio/windows_utils.pyi +0 -0
  308. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/asyncore.pyi +0 -0
  309. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/atexit.pyi +0 -0
  310. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/audioop.pyi +0 -0
  311. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/base64.pyi +0 -0
  312. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/bdb.pyi +0 -0
  313. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/binascii.pyi +0 -0
  314. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/binhex.pyi +0 -0
  315. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/bisect.pyi +0 -0
  316. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/builtins.pyi +0 -0
  317. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/bz2.pyi +0 -0
  318. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/cProfile.pyi +0 -0
  319. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/calendar.pyi +0 -0
  320. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/cgi.pyi +0 -0
  321. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/cgitb.pyi +0 -0
  322. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/chunk.pyi +0 -0
  323. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/cmath.pyi +0 -0
  324. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/cmd.pyi +0 -0
  325. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/code.pyi +0 -0
  326. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/codecs.pyi +0 -0
  327. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/codeop.pyi +0 -0
  328. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/collections/__init__.pyi +0 -0
  329. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/collections/abc.pyi +0 -0
  330. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/colorsys.pyi +0 -0
  331. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/compileall.pyi +0 -0
  332. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/concurrent/__init__.pyi +0 -0
  333. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/concurrent/futures/__init__.pyi +0 -0
  334. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/concurrent/futures/_base.pyi +0 -0
  335. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/concurrent/futures/process.pyi +0 -0
  336. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/concurrent/futures/thread.pyi +0 -0
  337. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/configparser.pyi +0 -0
  338. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/contextlib.pyi +0 -0
  339. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/contextvars.pyi +0 -0
  340. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/copy.pyi +0 -0
  341. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/copyreg.pyi +0 -0
  342. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/crypt.pyi +0 -0
  343. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/csv.pyi +0 -0
  344. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/__init__.pyi +0 -0
  345. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/_endian.pyi +0 -0
  346. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/macholib/__init__.pyi +0 -0
  347. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/macholib/dyld.pyi +0 -0
  348. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/macholib/dylib.pyi +0 -0
  349. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/macholib/framework.pyi +0 -0
  350. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/util.pyi +0 -0
  351. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ctypes/wintypes.pyi +0 -0
  352. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/curses/__init__.pyi +0 -0
  353. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/curses/ascii.pyi +0 -0
  354. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/curses/has_key.pyi +0 -0
  355. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/curses/panel.pyi +0 -0
  356. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/curses/textpad.pyi +0 -0
  357. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dataclasses.pyi +0 -0
  358. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/datetime.pyi +0 -0
  359. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dbm/__init__.pyi +0 -0
  360. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dbm/dumb.pyi +0 -0
  361. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dbm/gnu.pyi +0 -0
  362. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dbm/ndbm.pyi +0 -0
  363. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dbm/sqlite3.pyi +0 -0
  364. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/decimal.pyi +0 -0
  365. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/difflib.pyi +0 -0
  366. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dis.pyi +0 -0
  367. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/__init__.pyi +0 -0
  368. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/_msvccompiler.pyi +0 -0
  369. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/archive_util.pyi +0 -0
  370. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/bcppcompiler.pyi +0 -0
  371. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/ccompiler.pyi +0 -0
  372. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/cmd.pyi +0 -0
  373. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/__init__.pyi +0 -0
  374. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/bdist.pyi +0 -0
  375. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/bdist_dumb.pyi +0 -0
  376. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/bdist_msi.pyi +0 -0
  377. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/bdist_packager.pyi +0 -0
  378. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/bdist_rpm.pyi +0 -0
  379. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/bdist_wininst.pyi +0 -0
  380. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/build.pyi +0 -0
  381. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/build_clib.pyi +0 -0
  382. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/build_ext.pyi +0 -0
  383. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/build_py.pyi +0 -0
  384. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/build_scripts.pyi +0 -0
  385. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/check.pyi +0 -0
  386. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/clean.pyi +0 -0
  387. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/config.pyi +0 -0
  388. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/install.pyi +0 -0
  389. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/install_data.pyi +0 -0
  390. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/install_egg_info.pyi +0 -0
  391. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/install_headers.pyi +0 -0
  392. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/install_lib.pyi +0 -0
  393. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/install_scripts.pyi +0 -0
  394. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/register.pyi +0 -0
  395. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/sdist.pyi +0 -0
  396. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/command/upload.pyi +0 -0
  397. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/config.pyi +0 -0
  398. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/core.pyi +0 -0
  399. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/cygwinccompiler.pyi +0 -0
  400. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/debug.pyi +0 -0
  401. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/dep_util.pyi +0 -0
  402. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/dir_util.pyi +0 -0
  403. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/dist.pyi +0 -0
  404. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/errors.pyi +0 -0
  405. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/extension.pyi +0 -0
  406. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/fancy_getopt.pyi +0 -0
  407. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/file_util.pyi +0 -0
  408. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/filelist.pyi +0 -0
  409. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/log.pyi +0 -0
  410. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/msvccompiler.pyi +0 -0
  411. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/spawn.pyi +0 -0
  412. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/sysconfig.pyi +0 -0
  413. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/text_file.pyi +0 -0
  414. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/unixccompiler.pyi +0 -0
  415. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/util.pyi +0 -0
  416. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/distutils/version.pyi +0 -0
  417. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/doctest.pyi +0 -0
  418. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/dummy_threading.pyi +0 -0
  419. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/__init__.pyi +0 -0
  420. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/_header_value_parser.pyi +0 -0
  421. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/_policybase.pyi +0 -0
  422. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/base64mime.pyi +0 -0
  423. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/charset.pyi +0 -0
  424. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/contentmanager.pyi +0 -0
  425. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/encoders.pyi +0 -0
  426. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/errors.pyi +0 -0
  427. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/feedparser.pyi +0 -0
  428. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/generator.pyi +0 -0
  429. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/header.pyi +0 -0
  430. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/headerregistry.pyi +0 -0
  431. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/iterators.pyi +0 -0
  432. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/message.pyi +0 -0
  433. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/__init__.pyi +0 -0
  434. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/application.pyi +0 -0
  435. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/audio.pyi +0 -0
  436. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/base.pyi +0 -0
  437. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/image.pyi +0 -0
  438. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/message.pyi +0 -0
  439. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/multipart.pyi +0 -0
  440. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/nonmultipart.pyi +0 -0
  441. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/mime/text.pyi +0 -0
  442. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/parser.pyi +0 -0
  443. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/policy.pyi +0 -0
  444. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/quoprimime.pyi +0 -0
  445. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/email/utils.pyi +0 -0
  446. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/__init__.pyi +0 -0
  447. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/aliases.pyi +0 -0
  448. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/ascii.pyi +0 -0
  449. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/base64_codec.pyi +0 -0
  450. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/big5.pyi +0 -0
  451. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/big5hkscs.pyi +0 -0
  452. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/bz2_codec.pyi +0 -0
  453. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/charmap.pyi +0 -0
  454. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp037.pyi +0 -0
  455. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1006.pyi +0 -0
  456. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1026.pyi +0 -0
  457. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1125.pyi +0 -0
  458. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1140.pyi +0 -0
  459. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1250.pyi +0 -0
  460. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1251.pyi +0 -0
  461. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1252.pyi +0 -0
  462. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1253.pyi +0 -0
  463. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1254.pyi +0 -0
  464. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1255.pyi +0 -0
  465. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1256.pyi +0 -0
  466. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1257.pyi +0 -0
  467. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp1258.pyi +0 -0
  468. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp273.pyi +0 -0
  469. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp424.pyi +0 -0
  470. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp437.pyi +0 -0
  471. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp500.pyi +0 -0
  472. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp720.pyi +0 -0
  473. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp737.pyi +0 -0
  474. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp775.pyi +0 -0
  475. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp850.pyi +0 -0
  476. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp852.pyi +0 -0
  477. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp855.pyi +0 -0
  478. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp856.pyi +0 -0
  479. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp857.pyi +0 -0
  480. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp858.pyi +0 -0
  481. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp860.pyi +0 -0
  482. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp861.pyi +0 -0
  483. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp862.pyi +0 -0
  484. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp863.pyi +0 -0
  485. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp864.pyi +0 -0
  486. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp865.pyi +0 -0
  487. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp866.pyi +0 -0
  488. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp869.pyi +0 -0
  489. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp874.pyi +0 -0
  490. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp875.pyi +0 -0
  491. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp932.pyi +0 -0
  492. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp949.pyi +0 -0
  493. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/cp950.pyi +0 -0
  494. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/euc_jis_2004.pyi +0 -0
  495. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/euc_jisx0213.pyi +0 -0
  496. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/euc_jp.pyi +0 -0
  497. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/euc_kr.pyi +0 -0
  498. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/gb18030.pyi +0 -0
  499. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/gb2312.pyi +0 -0
  500. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/gbk.pyi +0 -0
  501. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/hex_codec.pyi +0 -0
  502. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/hp_roman8.pyi +0 -0
  503. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/hz.pyi +0 -0
  504. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/idna.pyi +0 -0
  505. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_jp.pyi +0 -0
  506. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_jp_1.pyi +0 -0
  507. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_jp_2.pyi +0 -0
  508. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_jp_2004.pyi +0 -0
  509. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_jp_3.pyi +0 -0
  510. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_jp_ext.pyi +0 -0
  511. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso2022_kr.pyi +0 -0
  512. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_1.pyi +0 -0
  513. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_10.pyi +0 -0
  514. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_11.pyi +0 -0
  515. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_13.pyi +0 -0
  516. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_14.pyi +0 -0
  517. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_15.pyi +0 -0
  518. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_16.pyi +0 -0
  519. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_2.pyi +0 -0
  520. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_3.pyi +0 -0
  521. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_4.pyi +0 -0
  522. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_5.pyi +0 -0
  523. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_6.pyi +0 -0
  524. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_7.pyi +0 -0
  525. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_8.pyi +0 -0
  526. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/iso8859_9.pyi +0 -0
  527. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/johab.pyi +0 -0
  528. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/koi8_r.pyi +0 -0
  529. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/koi8_t.pyi +0 -0
  530. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/koi8_u.pyi +0 -0
  531. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/kz1048.pyi +0 -0
  532. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/latin_1.pyi +0 -0
  533. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_arabic.pyi +0 -0
  534. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_centeuro.pyi +0 -0
  535. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_croatian.pyi +0 -0
  536. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_cyrillic.pyi +0 -0
  537. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_farsi.pyi +0 -0
  538. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_greek.pyi +0 -0
  539. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_iceland.pyi +0 -0
  540. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_latin2.pyi +0 -0
  541. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_roman.pyi +0 -0
  542. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_romanian.pyi +0 -0
  543. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mac_turkish.pyi +0 -0
  544. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/mbcs.pyi +0 -0
  545. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/oem.pyi +0 -0
  546. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/palmos.pyi +0 -0
  547. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/ptcp154.pyi +0 -0
  548. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/punycode.pyi +0 -0
  549. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/quopri_codec.pyi +0 -0
  550. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/raw_unicode_escape.pyi +0 -0
  551. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/rot_13.pyi +0 -0
  552. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/shift_jis.pyi +0 -0
  553. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/shift_jis_2004.pyi +0 -0
  554. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/shift_jisx0213.pyi +0 -0
  555. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/tis_620.pyi +0 -0
  556. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/undefined.pyi +0 -0
  557. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/unicode_escape.pyi +0 -0
  558. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_16.pyi +0 -0
  559. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_16_be.pyi +0 -0
  560. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_16_le.pyi +0 -0
  561. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_32.pyi +0 -0
  562. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_32_be.pyi +0 -0
  563. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_32_le.pyi +0 -0
  564. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_7.pyi +0 -0
  565. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_8.pyi +0 -0
  566. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/utf_8_sig.pyi +0 -0
  567. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/uu_codec.pyi +0 -0
  568. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/encodings/zlib_codec.pyi +0 -0
  569. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ensurepip/__init__.pyi +0 -0
  570. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/enum.pyi +0 -0
  571. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/errno.pyi +0 -0
  572. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/faulthandler.pyi +0 -0
  573. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/fcntl.pyi +0 -0
  574. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/filecmp.pyi +0 -0
  575. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/fileinput.pyi +0 -0
  576. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/fnmatch.pyi +0 -0
  577. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/formatter.pyi +0 -0
  578. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/fractions.pyi +0 -0
  579. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ftplib.pyi +0 -0
  580. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/functools.pyi +0 -0
  581. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/gc.pyi +0 -0
  582. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/genericpath.pyi +0 -0
  583. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/getopt.pyi +0 -0
  584. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/getpass.pyi +0 -0
  585. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/gettext.pyi +0 -0
  586. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/glob.pyi +0 -0
  587. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/graphlib.pyi +0 -0
  588. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/grp.pyi +0 -0
  589. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/gzip.pyi +0 -0
  590. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/hashlib.pyi +0 -0
  591. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/heapq.pyi +0 -0
  592. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/hmac.pyi +0 -0
  593. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/html/__init__.pyi +0 -0
  594. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/html/entities.pyi +0 -0
  595. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/html/parser.pyi +0 -0
  596. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/http/__init__.pyi +0 -0
  597. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/http/client.pyi +0 -0
  598. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/http/cookiejar.pyi +0 -0
  599. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/http/cookies.pyi +0 -0
  600. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/http/server.pyi +0 -0
  601. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/imaplib.pyi +0 -0
  602. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/imghdr.pyi +0 -0
  603. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/imp.pyi +0 -0
  604. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/__init__.pyi +0 -0
  605. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/_abc.pyi +0 -0
  606. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/_bootstrap.pyi +0 -0
  607. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/_bootstrap_external.pyi +0 -0
  608. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/abc.pyi +0 -0
  609. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/machinery.pyi +0 -0
  610. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/metadata/__init__.pyi +0 -0
  611. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/metadata/_meta.pyi +0 -0
  612. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/metadata/diagnose.pyi +0 -0
  613. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/readers.pyi +0 -0
  614. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/resources/__init__.pyi +0 -0
  615. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/resources/_common.pyi +0 -0
  616. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/resources/_functional.pyi +0 -0
  617. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/resources/abc.pyi +0 -0
  618. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/resources/readers.pyi +0 -0
  619. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/resources/simple.pyi +0 -0
  620. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/simple.pyi +0 -0
  621. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/importlib/util.pyi +0 -0
  622. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/inspect.pyi +0 -0
  623. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/io.pyi +0 -0
  624. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ipaddress.pyi +0 -0
  625. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/itertools.pyi +0 -0
  626. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/json/__init__.pyi +0 -0
  627. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/json/decoder.pyi +0 -0
  628. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/json/encoder.pyi +0 -0
  629. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/json/scanner.pyi +0 -0
  630. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/json/tool.pyi +0 -0
  631. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/keyword.pyi +0 -0
  632. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/__init__.pyi +0 -0
  633. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/btm_matcher.pyi +0 -0
  634. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixer_base.pyi +0 -0
  635. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/__init__.pyi +0 -0
  636. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_apply.pyi +0 -0
  637. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_asserts.pyi +0 -0
  638. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_basestring.pyi +0 -0
  639. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_buffer.pyi +0 -0
  640. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_dict.pyi +0 -0
  641. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_except.pyi +0 -0
  642. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_exec.pyi +0 -0
  643. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_execfile.pyi +0 -0
  644. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_exitfunc.pyi +0 -0
  645. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_filter.pyi +0 -0
  646. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_funcattrs.pyi +0 -0
  647. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_future.pyi +0 -0
  648. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_getcwdu.pyi +0 -0
  649. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_has_key.pyi +0 -0
  650. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_idioms.pyi +0 -0
  651. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_import.pyi +0 -0
  652. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_imports.pyi +0 -0
  653. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_imports2.pyi +0 -0
  654. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_input.pyi +0 -0
  655. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_intern.pyi +0 -0
  656. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_isinstance.pyi +0 -0
  657. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_itertools.pyi +0 -0
  658. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_itertools_imports.pyi +0 -0
  659. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_long.pyi +0 -0
  660. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_map.pyi +0 -0
  661. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_metaclass.pyi +0 -0
  662. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_methodattrs.pyi +0 -0
  663. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_ne.pyi +0 -0
  664. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_next.pyi +0 -0
  665. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_nonzero.pyi +0 -0
  666. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_numliterals.pyi +0 -0
  667. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_operator.pyi +0 -0
  668. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_paren.pyi +0 -0
  669. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_print.pyi +0 -0
  670. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_raise.pyi +0 -0
  671. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_raw_input.pyi +0 -0
  672. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_reduce.pyi +0 -0
  673. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_reload.pyi +0 -0
  674. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_renames.pyi +0 -0
  675. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_repr.pyi +0 -0
  676. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_set_literal.pyi +0 -0
  677. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_standarderror.pyi +0 -0
  678. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_sys_exc.pyi +0 -0
  679. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_throw.pyi +0 -0
  680. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_tuple_params.pyi +0 -0
  681. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_types.pyi +0 -0
  682. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_unicode.pyi +0 -0
  683. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_urllib.pyi +0 -0
  684. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_ws_comma.pyi +0 -0
  685. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_xrange.pyi +0 -0
  686. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_xreadlines.pyi +0 -0
  687. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/fixes/fix_zip.pyi +0 -0
  688. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/main.pyi +0 -0
  689. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/__init__.pyi +0 -0
  690. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/driver.pyi +0 -0
  691. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/grammar.pyi +0 -0
  692. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/literals.pyi +0 -0
  693. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/parse.pyi +0 -0
  694. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/pgen.pyi +0 -0
  695. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/token.pyi +0 -0
  696. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pgen2/tokenize.pyi +0 -0
  697. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pygram.pyi +0 -0
  698. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/pytree.pyi +0 -0
  699. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lib2to3/refactor.pyi +0 -0
  700. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/linecache.pyi +0 -0
  701. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/locale.pyi +0 -0
  702. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/logging/__init__.pyi +0 -0
  703. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/logging/config.pyi +0 -0
  704. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/logging/handlers.pyi +0 -0
  705. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/lzma.pyi +0 -0
  706. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/mailbox.pyi +0 -0
  707. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/mailcap.pyi +0 -0
  708. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/marshal.pyi +0 -0
  709. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/math.pyi +0 -0
  710. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/mimetypes.pyi +0 -0
  711. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/mmap.pyi +0 -0
  712. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/modulefinder.pyi +0 -0
  713. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/msilib/__init__.pyi +0 -0
  714. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/msilib/schema.pyi +0 -0
  715. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/msilib/sequence.pyi +0 -0
  716. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/msilib/text.pyi +0 -0
  717. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/msvcrt.pyi +0 -0
  718. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/__init__.pyi +0 -0
  719. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/connection.pyi +0 -0
  720. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/context.pyi +0 -0
  721. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/dummy/__init__.pyi +0 -0
  722. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/dummy/connection.pyi +0 -0
  723. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/forkserver.pyi +0 -0
  724. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/heap.pyi +0 -0
  725. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/managers.pyi +0 -0
  726. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/pool.pyi +0 -0
  727. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/popen_fork.pyi +0 -0
  728. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/popen_forkserver.pyi +0 -0
  729. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/popen_spawn_posix.pyi +0 -0
  730. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/popen_spawn_win32.pyi +0 -0
  731. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/process.pyi +0 -0
  732. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/queues.pyi +0 -0
  733. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/reduction.pyi +0 -0
  734. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/resource_sharer.pyi +0 -0
  735. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/resource_tracker.pyi +0 -0
  736. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/shared_memory.pyi +0 -0
  737. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/sharedctypes.pyi +0 -0
  738. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/spawn.pyi +0 -0
  739. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/synchronize.pyi +0 -0
  740. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/multiprocessing/util.pyi +0 -0
  741. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/netrc.pyi +0 -0
  742. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/nis.pyi +0 -0
  743. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/nntplib.pyi +0 -0
  744. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/nt.pyi +0 -0
  745. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ntpath.pyi +0 -0
  746. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/nturl2path.pyi +0 -0
  747. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/numbers.pyi +0 -0
  748. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/opcode.pyi +0 -0
  749. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/operator.pyi +0 -0
  750. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/optparse.pyi +0 -0
  751. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/os/__init__.pyi +0 -0
  752. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/os/path.pyi +0 -0
  753. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ossaudiodev.pyi +0 -0
  754. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/parser.pyi +0 -0
  755. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pathlib.pyi +0 -0
  756. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pdb.pyi +0 -0
  757. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pickle.pyi +0 -0
  758. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pickletools.pyi +0 -0
  759. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pipes.pyi +0 -0
  760. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pkgutil.pyi +0 -0
  761. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/platform.pyi +0 -0
  762. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/plistlib.pyi +0 -0
  763. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/poplib.pyi +0 -0
  764. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/posix.pyi +0 -0
  765. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/posixpath.pyi +0 -0
  766. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pprint.pyi +0 -0
  767. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/profile.pyi +0 -0
  768. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pstats.pyi +0 -0
  769. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pty.pyi +0 -0
  770. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pwd.pyi +0 -0
  771. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/py_compile.pyi +0 -0
  772. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pyclbr.pyi +0 -0
  773. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pydoc.pyi +0 -0
  774. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pydoc_data/__init__.pyi +0 -0
  775. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pydoc_data/topics.pyi +0 -0
  776. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pyexpat/__init__.pyi +0 -0
  777. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pyexpat/errors.pyi +0 -0
  778. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/pyexpat/model.pyi +0 -0
  779. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/queue.pyi +0 -0
  780. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/quopri.pyi +0 -0
  781. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/random.pyi +0 -0
  782. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/re.pyi +0 -0
  783. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/readline.pyi +0 -0
  784. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/reprlib.pyi +0 -0
  785. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/resource.pyi +0 -0
  786. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/rlcompleter.pyi +0 -0
  787. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/runpy.pyi +0 -0
  788. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sched.pyi +0 -0
  789. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/secrets.pyi +0 -0
  790. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/select.pyi +0 -0
  791. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/selectors.pyi +0 -0
  792. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/shelve.pyi +0 -0
  793. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/shlex.pyi +0 -0
  794. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/shutil.pyi +0 -0
  795. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/signal.pyi +0 -0
  796. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/site.pyi +0 -0
  797. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/smtpd.pyi +0 -0
  798. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/smtplib.pyi +0 -0
  799. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sndhdr.pyi +0 -0
  800. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/socket.pyi +0 -0
  801. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/socketserver.pyi +0 -0
  802. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/spwd.pyi +0 -0
  803. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sqlite3/__init__.pyi +0 -0
  804. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sqlite3/dbapi2.pyi +0 -0
  805. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sqlite3/dump.pyi +0 -0
  806. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sre_compile.pyi +0 -0
  807. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sre_constants.pyi +0 -0
  808. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sre_parse.pyi +0 -0
  809. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/ssl.pyi +0 -0
  810. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/stat.pyi +0 -0
  811. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/statistics.pyi +0 -0
  812. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/string.pyi +0 -0
  813. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/stringprep.pyi +0 -0
  814. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/struct.pyi +0 -0
  815. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/subprocess.pyi +0 -0
  816. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sunau.pyi +0 -0
  817. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/symbol.pyi +0 -0
  818. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/symtable.pyi +0 -0
  819. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sys/__init__.pyi +0 -0
  820. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sys/_monitoring.pyi +0 -0
  821. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/sysconfig.pyi +0 -0
  822. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/syslog.pyi +0 -0
  823. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tabnanny.pyi +0 -0
  824. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tarfile.pyi +0 -0
  825. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/telnetlib.pyi +0 -0
  826. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tempfile.pyi +0 -0
  827. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/termios.pyi +0 -0
  828. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/textwrap.pyi +0 -0
  829. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/this.pyi +0 -0
  830. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/threading.pyi +0 -0
  831. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/time.pyi +0 -0
  832. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/timeit.pyi +0 -0
  833. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/__init__.pyi +0 -0
  834. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/colorchooser.pyi +0 -0
  835. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/commondialog.pyi +0 -0
  836. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/constants.pyi +0 -0
  837. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/dialog.pyi +0 -0
  838. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/dnd.pyi +0 -0
  839. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/filedialog.pyi +0 -0
  840. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/font.pyi +0 -0
  841. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/messagebox.pyi +0 -0
  842. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/scrolledtext.pyi +0 -0
  843. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/simpledialog.pyi +0 -0
  844. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/tix.pyi +0 -0
  845. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tkinter/ttk.pyi +0 -0
  846. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/token.pyi +0 -0
  847. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tokenize.pyi +0 -0
  848. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tomllib.pyi +0 -0
  849. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/trace.pyi +0 -0
  850. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/traceback.pyi +0 -0
  851. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tracemalloc.pyi +0 -0
  852. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/tty.pyi +0 -0
  853. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/turtle.pyi +0 -0
  854. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/types.pyi +0 -0
  855. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/typing.pyi +0 -0
  856. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/typing_extensions.pyi +0 -0
  857. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unicodedata.pyi +0 -0
  858. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/__init__.pyi +0 -0
  859. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/_log.pyi +0 -0
  860. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/async_case.pyi +0 -0
  861. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/case.pyi +0 -0
  862. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/loader.pyi +0 -0
  863. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/main.pyi +0 -0
  864. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/mock.pyi +0 -0
  865. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/result.pyi +0 -0
  866. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/runner.pyi +0 -0
  867. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/signals.pyi +0 -0
  868. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/suite.pyi +0 -0
  869. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/unittest/util.pyi +0 -0
  870. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/urllib/__init__.pyi +0 -0
  871. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/urllib/error.pyi +0 -0
  872. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/urllib/parse.pyi +0 -0
  873. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/urllib/request.pyi +0 -0
  874. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/urllib/response.pyi +0 -0
  875. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/urllib/robotparser.pyi +0 -0
  876. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/uu.pyi +0 -0
  877. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/uuid.pyi +0 -0
  878. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/warnings.pyi +0 -0
  879. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wave.pyi +0 -0
  880. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/weakref.pyi +0 -0
  881. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/webbrowser.pyi +0 -0
  882. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/winreg.pyi +0 -0
  883. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/winsound.pyi +0 -0
  884. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/__init__.pyi +0 -0
  885. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/handlers.pyi +0 -0
  886. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/headers.pyi +0 -0
  887. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/simple_server.pyi +0 -0
  888. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/types.pyi +0 -0
  889. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/util.pyi +0 -0
  890. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/wsgiref/validate.pyi +0 -0
  891. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xdrlib.pyi +0 -0
  892. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/__init__.pyi +0 -0
  893. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/NodeFilter.pyi +0 -0
  894. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/__init__.pyi +0 -0
  895. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/domreg.pyi +0 -0
  896. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/expatbuilder.pyi +0 -0
  897. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/minicompat.pyi +0 -0
  898. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/minidom.pyi +0 -0
  899. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/pulldom.pyi +0 -0
  900. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/dom/xmlbuilder.pyi +0 -0
  901. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/etree/ElementInclude.pyi +0 -0
  902. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/etree/ElementPath.pyi +0 -0
  903. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/etree/ElementTree.pyi +0 -0
  904. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/etree/__init__.pyi +0 -0
  905. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/etree/cElementTree.pyi +0 -0
  906. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/parsers/__init__.pyi +0 -0
  907. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/parsers/expat/__init__.pyi +0 -0
  908. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/parsers/expat/errors.pyi +0 -0
  909. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/parsers/expat/model.pyi +0 -0
  910. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/sax/__init__.pyi +0 -0
  911. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/sax/_exceptions.pyi +0 -0
  912. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/sax/expatreader.pyi +0 -0
  913. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/sax/handler.pyi +0 -0
  914. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/sax/saxutils.pyi +0 -0
  915. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xml/sax/xmlreader.pyi +0 -0
  916. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xmlrpc/__init__.pyi +0 -0
  917. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xmlrpc/client.pyi +0 -0
  918. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xmlrpc/server.pyi +0 -0
  919. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/xxlimited.pyi +0 -0
  920. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zipapp.pyi +0 -0
  921. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zipfile/__init__.pyi +0 -0
  922. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zipfile/_path/__init__.pyi +0 -0
  923. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zipfile/_path/glob.pyi +0 -0
  924. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zipimport.pyi +0 -0
  925. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zlib.pyi +0 -0
  926. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zoneinfo/__init__.pyi +0 -0
  927. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zoneinfo/_common.pyi +0 -0
  928. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed/zoneinfo/_tzpath.pyi +0 -0
  929. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyre2/third_party/typeshed_metadata.json +0 -0
  930. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyrefly_derive/Cargo.toml +0 -0
  931. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyrefly_derive/src/lib.rs +0 -0
  932. {pyrefly-0.5.0 → pyrefly-0.6.0}/pyrefly_derive/src/type_eq.rs +0 -0
  933. {pyrefly-0.5.0 → pyrefly-0.6.0}/rust-toolchain +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyrefly
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Author: Meta
5
5
  License: MIT
6
6
  Project-URL: Source Code, https://github.com/facebook/pyre-check/tree/main/pyre2
@@ -432,9 +432,9 @@ dependencies = [
432
432
 
433
433
  [[package]]
434
434
  name = "deranged"
435
- version = "0.3.11"
435
+ version = "0.4.0"
436
436
  source = "registry+https://github.com/rust-lang/crates.io-index"
437
- checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
437
+ checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
438
438
  dependencies = [
439
439
  "powerfmt",
440
440
  ]
@@ -699,14 +699,14 @@ dependencies = [
699
699
 
700
700
  [[package]]
701
701
  name = "getrandom"
702
- version = "0.3.1"
702
+ version = "0.3.2"
703
703
  source = "registry+https://github.com/rust-lang/crates.io-index"
704
- checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
704
+ checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
705
705
  dependencies = [
706
706
  "cfg-if",
707
707
  "libc",
708
- "wasi 0.13.3+wasi-0.2.2",
709
- "windows-targets 0.52.6",
708
+ "r-efi",
709
+ "wasi 0.14.2+wasi-0.2.4",
710
710
  ]
711
711
 
712
712
  [[package]]
@@ -1523,7 +1523,7 @@ dependencies = [
1523
1523
 
1524
1524
  [[package]]
1525
1525
  name = "pyrefly"
1526
- version = "0.5.0"
1526
+ version = "0.6.0"
1527
1527
  dependencies = [
1528
1528
  "anyhow",
1529
1529
  "argfile",
@@ -1598,6 +1598,12 @@ dependencies = [
1598
1598
  "proc-macro2",
1599
1599
  ]
1600
1600
 
1601
+ [[package]]
1602
+ name = "r-efi"
1603
+ version = "5.2.0"
1604
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1605
+ checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
1606
+
1601
1607
  [[package]]
1602
1608
  name = "rand"
1603
1609
  version = "0.8.5"
@@ -1797,9 +1803,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
1797
1803
 
1798
1804
  [[package]]
1799
1805
  name = "rustix"
1800
- version = "1.0.2"
1806
+ version = "1.0.3"
1801
1807
  source = "registry+https://github.com/rust-lang/crates.io-index"
1802
- checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825"
1808
+ checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
1803
1809
  dependencies = [
1804
1810
  "bitflags 2.9.0",
1805
1811
  "errno",
@@ -2046,12 +2052,12 @@ dependencies = [
2046
2052
 
2047
2053
  [[package]]
2048
2054
  name = "tempfile"
2049
- version = "3.19.0"
2055
+ version = "3.19.1"
2050
2056
  source = "registry+https://github.com/rust-lang/crates.io-index"
2051
- checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600"
2057
+ checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf"
2052
2058
  dependencies = [
2053
2059
  "fastrand",
2054
- "getrandom 0.3.1",
2060
+ "getrandom 0.3.2",
2055
2061
  "once_cell",
2056
2062
  "rustix",
2057
2063
  "windows-sys 0.59.0",
@@ -2099,9 +2105,9 @@ dependencies = [
2099
2105
 
2100
2106
  [[package]]
2101
2107
  name = "time"
2102
- version = "0.3.39"
2108
+ version = "0.3.40"
2103
2109
  source = "registry+https://github.com/rust-lang/crates.io-index"
2104
- checksum = "dad298b01a40a23aac4580b67e3dbedb7cc8402f3592d7f49469de2ea4aecdd8"
2110
+ checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618"
2105
2111
  dependencies = [
2106
2112
  "deranged",
2107
2113
  "itoa",
@@ -2116,15 +2122,15 @@ dependencies = [
2116
2122
 
2117
2123
  [[package]]
2118
2124
  name = "time-core"
2119
- version = "0.1.3"
2125
+ version = "0.1.4"
2120
2126
  source = "registry+https://github.com/rust-lang/crates.io-index"
2121
- checksum = "765c97a5b985b7c11d7bc27fa927dc4fe6af3a6dfb021d28deb60d3bf51e76ef"
2127
+ checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
2122
2128
 
2123
2129
  [[package]]
2124
2130
  name = "time-macros"
2125
- version = "0.2.20"
2131
+ version = "0.2.21"
2126
2132
  source = "registry+https://github.com/rust-lang/crates.io-index"
2127
- checksum = "e8093bc3e81c3bc5f7879de09619d06c9a5a5e45ca44dfeeb7225bae38005c5c"
2133
+ checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04"
2128
2134
  dependencies = [
2129
2135
  "num-conv",
2130
2136
  "time-core",
@@ -2429,9 +2435,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
2429
2435
 
2430
2436
  [[package]]
2431
2437
  name = "wasi"
2432
- version = "0.13.3+wasi-0.2.2"
2438
+ version = "0.14.2+wasi-0.2.4"
2433
2439
  source = "registry+https://github.com/rust-lang/crates.io-index"
2434
- checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
2440
+ checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
2435
2441
  dependencies = [
2436
2442
  "wit-bindgen-rt",
2437
2443
  ]
@@ -2546,9 +2552,9 @@ dependencies = [
2546
2552
 
2547
2553
  [[package]]
2548
2554
  name = "windows-link"
2549
- version = "0.1.0"
2555
+ version = "0.1.1"
2550
2556
  source = "registry+https://github.com/rust-lang/crates.io-index"
2551
- checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3"
2557
+ checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
2552
2558
 
2553
2559
  [[package]]
2554
2560
  name = "windows-sys"
@@ -2775,9 +2781,9 @@ dependencies = [
2775
2781
 
2776
2782
  [[package]]
2777
2783
  name = "wit-bindgen-rt"
2778
- version = "0.33.0"
2784
+ version = "0.39.0"
2779
2785
  source = "registry+https://github.com/rust-lang/crates.io-index"
2780
- checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
2786
+ checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
2781
2787
  dependencies = [
2782
2788
  "bitflags 2.9.0",
2783
2789
  ]
@@ -2,7 +2,7 @@
2
2
 
3
3
  [package]
4
4
  name = "pyrefly"
5
- version = "0.5.0"
5
+ version = "0.6.0"
6
6
  authors = ["Meta"]
7
7
  edition = "2021"
8
8
  repository = "https://github.com/facebook/pyre-check/tree/main/pyre2"
@@ -45,7 +45,7 @@ ruff_python_parser = { git = "https://github.com/astral-sh/ruff/", rev = "112e9d
45
45
  ruff_source_file = { git = "https://github.com/astral-sh/ruff/", rev = "112e9d2d8258e72dcf5c21c7d811957f12325af1" }
46
46
  ruff_text_size = { git = "https://github.com/astral-sh/ruff/", rev = "112e9d2d8258e72dcf5c21c7d811957f12325af1" }
47
47
  serde = { version = "1.0.185", features = ["derive", "rc"] }
48
- serde_json = { version = "1.0.132", features = ["float_roundtrip", "unbounded_depth"] }
48
+ serde_json = { version = "1.0.140", features = ["float_roundtrip", "unbounded_depth"] }
49
49
  starlark_map = "0.13.0"
50
50
  static_assertions = "1.1.0"
51
51
  static_interner = "0.1.1"
@@ -23,7 +23,6 @@ use pyre2::run::CheckArgs;
23
23
  use pyre2::run::CommandExitStatus;
24
24
  use pyre2::run::LspArgs;
25
25
  use pyre2::ConfigFile;
26
- use pyre2::FileList;
27
26
  use pyre2::Globs;
28
27
  use pyre2::NotifyWatcher;
29
28
 
@@ -8,6 +8,7 @@
8
8
  use std::fmt;
9
9
  use std::fmt::Debug;
10
10
  use std::fmt::Display;
11
+ use std::path::PathBuf;
11
12
  use std::sync::Arc;
12
13
 
13
14
  use dupe::Dupe;
@@ -36,6 +37,7 @@ use crate::graph::index::Idx;
36
37
  use crate::graph::index_map::IndexMap;
37
38
  use crate::module::module_info::ModuleInfo;
38
39
  use crate::module::module_name::ModuleName;
40
+ use crate::module::module_path::ModulePath;
39
41
  use crate::solver::solver::Solver;
40
42
  use crate::solver::type_order::TypeOrder;
41
43
  use crate::table;
@@ -165,15 +167,25 @@ impl Debug for SolutionsDifference<'_> {
165
167
  }
166
168
  }
167
169
 
168
- impl DisplayWith<ModuleInfo> for SolutionsDifference<'_> {
169
- fn fmt(&self, f: &mut fmt::Formatter<'_>, ctx: &ModuleInfo) -> fmt::Result {
170
+ impl Display for SolutionsDifference<'_> {
171
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
170
172
  let missing = |f: &mut fmt::Formatter, x: Option<(&dyn Display, &dyn Debug)>| match x {
171
173
  None => write!(f, "missing"),
172
174
  Some(x) => write!(f, "`{}`", x.0),
173
175
  };
174
176
 
177
+ // The key has type DisplayWith<ModuleInfo>.
178
+ // We don't know if the key originates on the LHS or RHS, so we don't know which is the appropriate ModuleInfo.
179
+ // However, we do know it is exported, and exported things can't rely on locations, so regardless
180
+ // of the ModuleInfo, it should display the same. Therefore, we fake one up.
181
+ let fake_module_info = ModuleInfo::new(
182
+ ModuleName::builtins(),
183
+ ModulePath::memory(PathBuf::new()),
184
+ Default::default(),
185
+ );
186
+
175
187
  write!(f, "`")?;
176
- self.key.0.fmt(f, ctx)?;
188
+ self.key.0.fmt(f, &fake_module_info)?;
177
189
  write!(f, "` was ")?;
178
190
  missing(f, self.lhs)?;
179
191
  write!(f, " now ")?;
@@ -202,6 +214,7 @@ impl Solutions {
202
214
  fn f<'a, K: Keyed>(
203
215
  x: &'a SolutionsEntry<K>,
204
216
  y: &'a Solutions,
217
+ ctx: &mut TypeEqCtx,
205
218
  ) -> Option<SolutionsDifference<'a>>
206
219
  where
207
220
  SolutionsTable: TableKeyed<K, Value = SolutionsEntry<K>>,
@@ -221,7 +234,7 @@ impl Solutions {
221
234
  }
222
235
  for (k, v) in x.iter() {
223
236
  match y.get(k) {
224
- Some(v2) if !v.type_eq(v2, &mut TypeEqCtx::default()) => {
237
+ Some(v2) if !v.type_eq(v2, ctx) => {
225
238
  return Some(SolutionsDifference {
226
239
  key: (k, k),
227
240
  lhs: Some((v, v)),
@@ -242,9 +255,12 @@ impl Solutions {
242
255
  }
243
256
 
244
257
  let mut difference = None;
258
+ // Important we have a single TypeEqCtx, so that we don't have
259
+ // types used in different ways.
260
+ let mut ctx = TypeEqCtx::default();
245
261
  table_for_each!(self.0, |x| {
246
262
  if difference.is_none() {
247
- difference = f(x, other);
263
+ difference = f(x, other, &mut ctx);
248
264
  }
249
265
  });
250
266
  difference
@@ -579,7 +595,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
579
595
  got: &Type,
580
596
  loc: TextRange,
581
597
  errors: &ErrorCollector,
582
- tcc: &TypeCheckContext,
598
+ tcc: &dyn Fn() -> TypeCheckContext,
583
599
  ) -> Type {
584
600
  if matches!(got, Type::Any(AnyStyle::Error)) {
585
601
  // Don't propagate errors
@@ -621,7 +637,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
621
637
  errors: &ErrorCollector,
622
638
  range: TextRange,
623
639
  kind: ErrorKind,
624
- context: Option<&ErrorContext>,
640
+ context: Option<&dyn Fn() -> ErrorContext>,
625
641
  msg: String,
626
642
  ) -> Type {
627
643
  errors.add(range, msg, kind, context);
@@ -17,6 +17,7 @@ use crate::alt::answers::LookupAnswer;
17
17
  use crate::alt::callable::CallArg;
18
18
  use crate::alt::types::class_metadata::EnumMetadata;
19
19
  use crate::binding::binding::KeyExport;
20
+ use crate::dunder;
20
21
  use crate::error::collector::ErrorCollector;
21
22
  use crate::error::context::ErrorContext;
22
23
  use crate::error::context::TypeCheckContext;
@@ -62,7 +63,7 @@ pub struct Attribute {
62
63
  ///
63
64
  /// The operation is either permitted with an attribute `Type`, or is not allowed
64
65
  /// and has a reason.
65
- #[derive(Clone, Debug)]
66
+ #[derive(Debug)]
66
67
  enum AttributeInner {
67
68
  /// A `NoAccess` attribute indicates that the attribute is well-defined, but does
68
69
  /// not allow the access pattern (for example class access on an instance-only attribute)
@@ -77,6 +78,13 @@ enum AttributeInner {
77
78
  /// A descriptor is a user-defined type whose actions may dispatch to special method calls
78
79
  /// for the get and set actions.
79
80
  Descriptor(Descriptor),
81
+ /// The attribute being looked up is not defined explicitly, but it may be defined via a
82
+ /// __getattr__ fallback.
83
+ /// The `NotFound` field stores the (failed) lookup result on the original attribute for
84
+ /// better error reporting downstream. The `AttributeInner` field stores the (successful)
85
+ /// lookup result of the `__getattr__` function or method. The `Name` field stores the name
86
+ /// of the original attribute being looked up.
87
+ GetAttr(NotFound, Box<AttributeInner>, Name),
80
88
  }
81
89
 
82
90
  #[derive(Clone, Debug)]
@@ -105,7 +113,7 @@ pub enum DescriptorBase {
105
113
  }
106
114
 
107
115
  #[derive(Debug)]
108
- enum NotFound {
116
+ pub enum NotFound {
109
117
  Attribute(ClassType),
110
118
  ClassAttribute(Class),
111
119
  ModuleExport(Module),
@@ -135,6 +143,10 @@ enum InternalError {
135
143
  }
136
144
 
137
145
  impl Attribute {
146
+ fn new(inner: AttributeInner) -> Self {
147
+ Attribute { inner }
148
+ }
149
+
138
150
  pub fn no_access(reason: NoAccessReason) -> Self {
139
151
  Attribute {
140
152
  inner: AttributeInner::NoAccess(reason),
@@ -174,6 +186,12 @@ impl Attribute {
174
186
  }),
175
187
  }
176
188
  }
189
+
190
+ pub fn getattr(not_found: NotFound, getattr: Attribute, name: Name) -> Self {
191
+ Attribute {
192
+ inner: AttributeInner::GetAttr(not_found, Box::new(getattr.inner), name),
193
+ }
194
+ }
177
195
  }
178
196
 
179
197
  impl NoAccessReason {
@@ -285,7 +303,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
285
303
  attr_name: &Name,
286
304
  range: TextRange,
287
305
  errors: &ErrorCollector,
288
- context: Option<&ErrorContext>,
306
+ context: Option<&dyn Fn() -> ErrorContext>,
289
307
  todo_ctx: &str,
290
308
  ) -> Type {
291
309
  let lookup_result = self.lookup_attr(base, attr_name);
@@ -311,7 +329,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
311
329
  attr_name: &Name,
312
330
  range: TextRange,
313
331
  errors: &ErrorCollector,
314
- context: Option<&ErrorContext>,
332
+ context: Option<&dyn Fn() -> ErrorContext>,
315
333
  todo_ctx: &str,
316
334
  ) -> Option<Type> {
317
335
  match self.lookup_attr(base, attr_name) {
@@ -346,10 +364,12 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
346
364
  match self.lookup_attr(&base, &Name::new_static("_value_")) {
347
365
  LookupResult::Found(attr) => match attr.inner {
348
366
  AttributeInner::ReadWrite(ty) => Some(ty),
367
+ // NOTE: We currently do not expect to use `__getattr__` for `_value_` annotation lookup.
349
368
  AttributeInner::ReadOnly(_)
350
369
  | AttributeInner::NoAccess(_)
351
370
  | AttributeInner::Property(..)
352
- | AttributeInner::Descriptor(..) => None,
371
+ | AttributeInner::Descriptor(..)
372
+ | AttributeInner::GetAttr(..) => None,
353
373
  },
354
374
  _ => None,
355
375
  }
@@ -364,7 +384,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
364
384
  got: Either<&Expr, &Type>,
365
385
  range: TextRange,
366
386
  errors: &ErrorCollector,
367
- context: Option<&ErrorContext>,
387
+ context: Option<&dyn Fn() -> ErrorContext>,
368
388
  todo_ctx: &str,
369
389
  ) {
370
390
  match self.lookup_attr(base, attr_name) {
@@ -382,27 +402,18 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
382
402
  Either::Left(got) => {
383
403
  self.expr(
384
404
  got,
385
- Some((
386
- &want,
387
- &TypeCheckContext {
388
- kind: TypeCheckKind::Attribute(attr_name.clone()),
389
- context: context.cloned(),
390
- },
391
- )),
405
+ Some((&want, &|| TypeCheckContext {
406
+ kind: TypeCheckKind::Attribute(attr_name.clone()),
407
+ context: context.map(|ctx| ctx()),
408
+ })),
392
409
  errors,
393
410
  );
394
411
  }
395
412
  Either::Right(got) => {
396
- self.check_type(
397
- &want,
398
- got,
399
- range,
400
- errors,
401
- &TypeCheckContext {
402
- kind: TypeCheckKind::Attribute(attr_name.clone()),
403
- context: context.cloned(),
404
- },
405
- );
413
+ self.check_type(&want, got, range, errors, &|| TypeCheckContext {
414
+ kind: TypeCheckKind::Attribute(attr_name.clone()),
415
+ context: context.map(|ctx| ctx()),
416
+ });
406
417
  }
407
418
  },
408
419
  AttributeInner::ReadOnly(_) => {
@@ -466,6 +477,17 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
466
477
  }
467
478
  };
468
479
  }
480
+ AttributeInner::GetAttr(not_found, _, name) => {
481
+ // Attribute setting bypasses `__getattr__` lookup and behaves the same
482
+ // as if the `__getattr__` lookup did not happen.
483
+ self.error(
484
+ errors,
485
+ range,
486
+ ErrorKind::MissingAttribute,
487
+ context,
488
+ not_found.to_error_msg(&name),
489
+ );
490
+ }
469
491
  },
470
492
  LookupResult::InternalError(e) => {
471
493
  self.error(
@@ -495,7 +517,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
495
517
  got: &Expr,
496
518
  range: TextRange,
497
519
  errors: &ErrorCollector,
498
- context: Option<&ErrorContext>,
520
+ context: Option<&dyn Fn() -> ErrorContext>,
499
521
  todo_ctx: &str,
500
522
  ) {
501
523
  self.check_attr_set(
@@ -516,7 +538,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
516
538
  got: &Type,
517
539
  range: TextRange,
518
540
  errors: &ErrorCollector,
519
- context: Option<&ErrorContext>,
541
+ context: Option<&dyn Fn() -> ErrorContext>,
520
542
  todo_ctx: &str,
521
543
  ) {
522
544
  self.check_attr_set(
@@ -536,7 +558,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
536
558
  attr_name: &Name,
537
559
  range: TextRange,
538
560
  errors: &ErrorCollector,
539
- context: Option<&ErrorContext>,
561
+ context: Option<&dyn Fn() -> ErrorContext>,
540
562
  todo_ctx: &str,
541
563
  ) {
542
564
  match self.lookup_attr(base, attr_name) {
@@ -564,6 +586,17 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
564
586
  format!("Cannot delete read-only field `{attr_name}`"),
565
587
  );
566
588
  }
589
+ AttributeInner::GetAttr(not_found, _, name) => {
590
+ // Attribute deleting bypasses `__getattr__` lookup and behaves the same
591
+ // as if the `__getattr__` lookup did not happen.
592
+ self.error(
593
+ errors,
594
+ range,
595
+ ErrorKind::MissingAttribute,
596
+ context,
597
+ not_found.to_error_msg(&name),
598
+ );
599
+ }
567
600
  },
568
601
  LookupResult::InternalError(e) => {
569
602
  self.error(
@@ -673,6 +706,11 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
673
706
  ),
674
707
  ) => is_subset(got_ty, want_ty),
675
708
  (AttributeInner::Descriptor(..), _) | (_, AttributeInner::Descriptor(..)) => false,
709
+ (AttributeInner::GetAttr(..), _) | (_, AttributeInner::GetAttr(..)) => {
710
+ // NOTE(grievejia): `__getattr__` does not participate in structural subtyping
711
+ // check for now. We may revisit this in the future if the need comes.
712
+ false
713
+ }
676
714
  }
677
715
  }
678
716
 
@@ -681,7 +719,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
681
719
  attr: Attribute,
682
720
  range: TextRange,
683
721
  errors: &ErrorCollector,
684
- context: Option<&ErrorContext>,
722
+ context: Option<&dyn Fn() -> ErrorContext>,
685
723
  ) -> Result<Type, NoAccessReason> {
686
724
  match attr.inner {
687
725
  AttributeInner::NoAccess(reason) => Err(reason),
@@ -708,6 +746,9 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
708
746
  } => Ok(descriptor_ty),
709
747
  }
710
748
  }
749
+ AttributeInner::GetAttr(_, getattr_attr, name) => self
750
+ .resolve_get_access(Attribute::new(*getattr_attr), range, errors, context)
751
+ .map(|getattr_ty| self.call_getattr(getattr_ty, name, range, errors, context)),
711
752
  }
712
753
  }
713
754
 
@@ -723,22 +764,28 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
723
764
  inner: AttributeInner,
724
765
  ) -> Option<Type> {
725
766
  match inner {
726
- AttributeInner::ReadWrite(ty) => Some(ty),
727
- AttributeInner::ReadOnly(_)
728
- | AttributeInner::NoAccess(_)
767
+ // TODO(stroxler): ReadWrite attributes are not actually methods but limiting access to
768
+ // ReadOnly breaks unit tests; we should investigate callsites to understand this better.
769
+ // NOTE(grievejia): We currently do not expect to use `__getattr__` for this lookup.
770
+ AttributeInner::ReadOnly(ty) | AttributeInner::ReadWrite(ty) => Some(ty),
771
+ AttributeInner::NoAccess(_)
729
772
  | AttributeInner::Property(..)
730
- | AttributeInner::Descriptor(..) => None,
773
+ | AttributeInner::Descriptor(..)
774
+ | AttributeInner::GetAttr(..) => None,
731
775
  }
732
776
  }
733
777
 
734
778
  pub fn resolve_named_tuple_element(&self, attr: Attribute) -> Option<Type> {
735
779
  // NamedTuples are immutable, so their attributes are always read-only
780
+ // NOTE(grievejia): We do not use `__getattr__` here because this lookup is expected to be inovked
781
+ // on NamedTuple attributes with known names.
736
782
  match attr.inner {
737
783
  AttributeInner::ReadOnly(ty) => Some(ty),
738
784
  AttributeInner::ReadWrite(_)
739
785
  | AttributeInner::NoAccess(_)
740
786
  | AttributeInner::Property(..)
741
- | AttributeInner::Descriptor(..) => None,
787
+ | AttributeInner::Descriptor(..)
788
+ | AttributeInner::GetAttr(..) => None,
742
789
  }
743
790
  }
744
791
 
@@ -750,7 +797,7 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
750
797
  attr_name: &Name,
751
798
  range: TextRange,
752
799
  errors: &ErrorCollector,
753
- context: Option<&ErrorContext>,
800
+ context: Option<&dyn Fn() -> ErrorContext>,
754
801
  todo_ctx: &str,
755
802
  ) -> Result<Type, String> {
756
803
  match lookup {
@@ -774,12 +821,18 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
774
821
  AttributeBase::ClassInstance(class) => {
775
822
  match self.get_instance_attribute(&class, attr_name) {
776
823
  Some(attr) => LookupResult::Found(attr),
824
+ None if self.extends_any(&class) => {
825
+ LookupResult::found_type(Type::Any(AnyStyle::Implicit))
826
+ }
777
827
  None => LookupResult::NotFound(NotFound::Attribute(class)),
778
828
  }
779
829
  }
780
830
  AttributeBase::SuperInstance(cls, obj) => {
781
831
  match self.get_super_attribute(&cls, &obj, attr_name) {
782
832
  Some(attr) => LookupResult::Found(attr),
833
+ None if self.extends_any(&obj) => {
834
+ LookupResult::found_type(Type::Any(AnyStyle::Implicit))
835
+ }
783
836
  None => LookupResult::NotFound(NotFound::Attribute(cls)),
784
837
  }
785
838
  }
@@ -797,6 +850,14 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
797
850
  };
798
851
  match instance_attr {
799
852
  Some(attr) => LookupResult::Found(attr),
853
+ None if metadata.has_base_any() => {
854
+ // We can't immediately fall back to Any in this case -- `type[Any]` is actually a special
855
+ // AttributeBase which requires additional lookup on `type` itself before the Any fallback.
856
+ self.lookup_attr_from_attribute_base(
857
+ AttributeBase::TypeAny(AnyStyle::Implicit),
858
+ attr_name,
859
+ )
860
+ }
800
861
  None => LookupResult::NotFound(NotFound::ClassAttribute(class)),
801
862
  }
802
863
  }
@@ -861,10 +922,30 @@ impl<'a, Ans: LookupAnswer> AnswersSolver<'a, Ans> {
861
922
 
862
923
  fn lookup_attr(&self, base: &Type, attr_name: &Name) -> LookupResult {
863
924
  match self.as_attribute_base(base.clone(), self.stdlib) {
864
- Some(base) => self.lookup_attr_from_attribute_base(base, attr_name),
865
925
  None => {
866
926
  LookupResult::InternalError(InternalError::AttributeBaseUndefined(base.clone()))
867
927
  }
928
+ Some(base) => {
929
+ let direct_lookup_result =
930
+ self.lookup_attr_from_attribute_base(base.clone(), attr_name);
931
+ match direct_lookup_result {
932
+ LookupResult::Found(_) | LookupResult::InternalError(_) => direct_lookup_result,
933
+ LookupResult::NotFound(not_found) => {
934
+ let getattr_lookup_result =
935
+ self.lookup_attr_from_attribute_base(base, &dunder::GETATTR);
936
+ match getattr_lookup_result {
937
+ LookupResult::NotFound(_) | LookupResult::InternalError(_) => {
938
+ LookupResult::NotFound(not_found)
939
+ }
940
+ LookupResult::Found(attr) => LookupResult::Found(Attribute::getattr(
941
+ not_found,
942
+ attr,
943
+ attr_name.clone(),
944
+ )),
945
+ }
946
+ }
947
+ }
948
+ }
868
949
  }
869
950
  }
870
951