steep 1.6.0.pre.4 → 1.7.0.dev.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (311) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +6 -0
  3. data/.github/workflows/ruby-windows.yml +2 -1
  4. data/.github/workflows/ruby.yml +9 -10
  5. data/.gitignore +0 -1
  6. data/CHANGELOG.md +4 -0
  7. data/Gemfile +1 -1
  8. data/Gemfile.lock +31 -29
  9. data/bin/output_test.rb +1 -0
  10. data/doc/narrowing.md +195 -0
  11. data/gemfile_steep/Gemfile.lock +30 -15
  12. data/guides/src/getting-started/getting-started.md +10 -11
  13. data/lib/steep/ast/ignore.rb +148 -0
  14. data/lib/steep/cli.rb +6 -1
  15. data/lib/steep/diagnostic/ruby.rb +16 -0
  16. data/lib/steep/drivers/utils/driver_helper.rb +22 -11
  17. data/lib/steep/node_helper.rb +12 -0
  18. data/lib/steep/project/dsl.rb +18 -21
  19. data/lib/steep/project/options.rb +39 -2
  20. data/lib/steep/project.rb +11 -7
  21. data/lib/steep/server/change_buffer.rb +2 -2
  22. data/lib/steep/server/interaction_worker.rb +61 -11
  23. data/lib/steep/server/worker_process.rb +3 -1
  24. data/lib/steep/services/completion_provider.rb +39 -8
  25. data/lib/steep/services/file_loader.rb +3 -2
  26. data/lib/steep/services/signature_help_provider.rb +9 -8
  27. data/lib/steep/services/type_check_service.rb +36 -8
  28. data/lib/steep/source/ignore_ranges.rb +69 -0
  29. data/lib/steep/source.rb +10 -4
  30. data/lib/steep/type_construction.rb +6 -147
  31. data/lib/steep/type_inference/case_when.rb +301 -0
  32. data/lib/steep/version.rb +1 -1
  33. data/lib/steep.rb +14 -1
  34. data/rbs_collection.steep.lock.yaml +8 -6
  35. data/sig/shims/parser.rbs +10 -0
  36. data/sig/shims/yaml.rbs +4 -0
  37. data/sig/steep/ast/ignore.rbs +66 -0
  38. data/sig/steep/diagnostic/ruby.rbs +8 -0
  39. data/sig/steep/node_helper.rbs +2 -0
  40. data/sig/steep/project/dsl.rbs +8 -4
  41. data/sig/steep/project/options.rbs +21 -1
  42. data/sig/steep/project.rbs +3 -3
  43. data/sig/steep/server/change_buffer.rbs +6 -4
  44. data/sig/steep/server/interaction_worker.rbs +10 -0
  45. data/sig/steep/server/worker_process.rbs +4 -4
  46. data/sig/steep/services/completion_provider.rbs +14 -1
  47. data/sig/steep/services/type_check_service.rbs +6 -1
  48. data/sig/steep/source/ignore_ranges.rbs +38 -0
  49. data/sig/steep/source.rbs +5 -2
  50. data/sig/steep/subtyping/check.rbs +2 -2
  51. data/sig/steep/type_construction.rbs +1 -26
  52. data/sig/steep/type_inference/branch.rbs +15 -0
  53. data/sig/steep/type_inference/case_when.rbs +130 -0
  54. data/sig/steep.rbs +9 -0
  55. data/steep.gemspec +1 -1
  56. metadata +14 -260
  57. data/smoke/alias/Steepfile +0 -6
  58. data/smoke/alias/a.rb +0 -16
  59. data/smoke/alias/a.rbs +0 -10
  60. data/smoke/alias/b.rb +0 -6
  61. data/smoke/alias/c.rb +0 -8
  62. data/smoke/alias/test_expectations.yml +0 -96
  63. data/smoke/and/Steepfile +0 -6
  64. data/smoke/and/a.rb +0 -8
  65. data/smoke/and/test_expectations.yml +0 -29
  66. data/smoke/array/Steepfile +0 -6
  67. data/smoke/array/a.rb +0 -18
  68. data/smoke/array/b.rb +0 -12
  69. data/smoke/array/c.rb +0 -6
  70. data/smoke/array/test_expectations.yml +0 -103
  71. data/smoke/block/Steepfile +0 -6
  72. data/smoke/block/a.rb +0 -10
  73. data/smoke/block/a.rbs +0 -6
  74. data/smoke/block/b.rb +0 -13
  75. data/smoke/block/c.rb +0 -9
  76. data/smoke/block/c.rbs +0 -3
  77. data/smoke/block/d.rb +0 -11
  78. data/smoke/block/e.rb +0 -12
  79. data/smoke/block/e.rbs +0 -4
  80. data/smoke/block/test_expectations.yml +0 -133
  81. data/smoke/case/Steepfile +0 -6
  82. data/smoke/case/a.rb +0 -18
  83. data/smoke/case/test_expectations.yml +0 -47
  84. data/smoke/class/Steepfile +0 -6
  85. data/smoke/class/a.rb +0 -25
  86. data/smoke/class/a.rbs +0 -23
  87. data/smoke/class/b.rb +0 -5
  88. data/smoke/class/c.rb +0 -9
  89. data/smoke/class/f.rb +0 -10
  90. data/smoke/class/g.rb +0 -6
  91. data/smoke/class/h.rb +0 -19
  92. data/smoke/class/h.rbs +0 -6
  93. data/smoke/class/i.rb +0 -14
  94. data/smoke/class/i.rbs +0 -9
  95. data/smoke/class/test_expectations.yml +0 -117
  96. data/smoke/compact/Steepfile +0 -6
  97. data/smoke/compact/a.rb +0 -2
  98. data/smoke/compact/a.rbs +0 -5
  99. data/smoke/compact/b.rb +0 -2
  100. data/smoke/compact/test_expectations.yml +0 -18
  101. data/smoke/const/Steepfile +0 -6
  102. data/smoke/const/a.rb +0 -27
  103. data/smoke/const/b.rb +0 -7
  104. data/smoke/const/b.rbs +0 -5
  105. data/smoke/const/test_expectations.yml +0 -134
  106. data/smoke/diagnostics/Steepfile +0 -6
  107. data/smoke/diagnostics/a.rbs +0 -22
  108. data/smoke/diagnostics/argument_type_mismatch.rb +0 -1
  109. data/smoke/diagnostics/block_body_type_mismatch.rb +0 -1
  110. data/smoke/diagnostics/block_type_mismatch.rb +0 -3
  111. data/smoke/diagnostics/break_type_mismatch.rb +0 -1
  112. data/smoke/diagnostics/different_method_parameter_kind.rb +0 -9
  113. data/smoke/diagnostics/else_on_exhaustive_case.rb +0 -12
  114. data/smoke/diagnostics/incompatible_annotation.rb +0 -6
  115. data/smoke/diagnostics/incompatible_argument.rb +0 -1
  116. data/smoke/diagnostics/incompatible_assignment.rb +0 -8
  117. data/smoke/diagnostics/method_arity_mismatch.rb +0 -11
  118. data/smoke/diagnostics/method_body_type_mismatch.rb +0 -6
  119. data/smoke/diagnostics/method_definition_missing.rb +0 -2
  120. data/smoke/diagnostics/method_parameter_mismatch.rb +0 -10
  121. data/smoke/diagnostics/method_return_type_annotation_mismatch.rb +0 -7
  122. data/smoke/diagnostics/missing_keyword.rb +0 -1
  123. data/smoke/diagnostics/no_method.rb +0 -1
  124. data/smoke/diagnostics/proc_type_expected.rb +0 -3
  125. data/smoke/diagnostics/required_block_missing.rb +0 -1
  126. data/smoke/diagnostics/return_type_mismatch.rb +0 -6
  127. data/smoke/diagnostics/test_expectations.yml +0 -591
  128. data/smoke/diagnostics/unexpected_block_given.rb +0 -1
  129. data/smoke/diagnostics/unexpected_dynamic_method.rb +0 -3
  130. data/smoke/diagnostics/unexpected_jump.rb +0 -4
  131. data/smoke/diagnostics/unexpected_jump_value.rb +0 -3
  132. data/smoke/diagnostics/unexpected_keyword.rb +0 -1
  133. data/smoke/diagnostics/unexpected_splat.rb +0 -1
  134. data/smoke/diagnostics/unexpected_yield.rb +0 -6
  135. data/smoke/diagnostics/unknown_constant_assigned.rb +0 -7
  136. data/smoke/diagnostics/unresolved_overloading.rb +0 -1
  137. data/smoke/diagnostics/unsupported_syntax.rb +0 -2
  138. data/smoke/diagnostics-rbs/Steepfile +0 -8
  139. data/smoke/diagnostics-rbs/duplicated-method-definition.rbs +0 -20
  140. data/smoke/diagnostics-rbs/generic-parameter-mismatch.rbs +0 -7
  141. data/smoke/diagnostics-rbs/inherit-module.rbs +0 -2
  142. data/smoke/diagnostics-rbs/invalid-method-overload.rbs +0 -3
  143. data/smoke/diagnostics-rbs/invalid-type-application.rbs +0 -7
  144. data/smoke/diagnostics-rbs/invalid_variance_annotation.rbs +0 -3
  145. data/smoke/diagnostics-rbs/mixin-class-error.rbs +0 -6
  146. data/smoke/diagnostics-rbs/nonregular-type-alias.rbs +0 -3
  147. data/smoke/diagnostics-rbs/recursive-alias.rbs +0 -5
  148. data/smoke/diagnostics-rbs/recursive-class.rbs +0 -8
  149. data/smoke/diagnostics-rbs/recursive-type-alias.rbs +0 -3
  150. data/smoke/diagnostics-rbs/superclass-mismatch.rbs +0 -7
  151. data/smoke/diagnostics-rbs/test_expectations.yml +0 -300
  152. data/smoke/diagnostics-rbs/unknown-method-alias.rbs +0 -3
  153. data/smoke/diagnostics-rbs/unknown-type-name-2.rbs +0 -5
  154. data/smoke/diagnostics-rbs/unknown-type-name.rbs +0 -13
  155. data/smoke/diagnostics-rbs-duplicated/Steepfile +0 -6
  156. data/smoke/diagnostics-rbs-duplicated/a.rbs +0 -5
  157. data/smoke/diagnostics-rbs-duplicated/test_expectations.yml +0 -13
  158. data/smoke/diagnostics-ruby-unsat/Steepfile +0 -6
  159. data/smoke/diagnostics-ruby-unsat/a.rbs +0 -3
  160. data/smoke/diagnostics-ruby-unsat/test_expectations.yml +0 -27
  161. data/smoke/diagnostics-ruby-unsat/unsatisfiable_constraint.rb +0 -6
  162. data/smoke/dstr/Steepfile +0 -6
  163. data/smoke/dstr/a.rb +0 -5
  164. data/smoke/dstr/test_expectations.yml +0 -13
  165. data/smoke/ensure/Steepfile +0 -6
  166. data/smoke/ensure/a.rb +0 -18
  167. data/smoke/ensure/test_expectations.yml +0 -62
  168. data/smoke/enumerator/Steepfile +0 -6
  169. data/smoke/enumerator/a.rb +0 -6
  170. data/smoke/enumerator/b.rb +0 -17
  171. data/smoke/enumerator/test_expectations.yml +0 -47
  172. data/smoke/extension/Steepfile +0 -6
  173. data/smoke/extension/a.rb +0 -10
  174. data/smoke/extension/a.rbs +0 -13
  175. data/smoke/extension/b.rb +0 -10
  176. data/smoke/extension/c.rb +0 -9
  177. data/smoke/extension/d.rb +0 -2
  178. data/smoke/extension/e.rb +0 -2
  179. data/smoke/extension/e.rbs +0 -7
  180. data/smoke/extension/f.rb +0 -2
  181. data/smoke/extension/f.rbs +0 -3
  182. data/smoke/extension/test_expectations.yml +0 -73
  183. data/smoke/hash/Steepfile +0 -6
  184. data/smoke/hash/a.rb +0 -17
  185. data/smoke/hash/a.rbs +0 -8
  186. data/smoke/hash/b.rb +0 -6
  187. data/smoke/hash/c.rb +0 -15
  188. data/smoke/hash/d.rb +0 -5
  189. data/smoke/hash/e.rb +0 -1
  190. data/smoke/hash/e.rbs +0 -3
  191. data/smoke/hash/f.rb +0 -11
  192. data/smoke/hash/test_expectations.yml +0 -81
  193. data/smoke/hello/Steepfile +0 -6
  194. data/smoke/hello/hello.rb +0 -11
  195. data/smoke/hello/hello.rbs +0 -7
  196. data/smoke/hello/test_expectations.yml +0 -25
  197. data/smoke/if/Steepfile +0 -6
  198. data/smoke/if/a.rb +0 -20
  199. data/smoke/if/test_expectations.yml +0 -34
  200. data/smoke/implements/Steepfile +0 -6
  201. data/smoke/implements/a.rb +0 -12
  202. data/smoke/implements/a.rbs +0 -6
  203. data/smoke/implements/b.rb +0 -13
  204. data/smoke/implements/b.rbs +0 -12
  205. data/smoke/implements/test_expectations.yml +0 -23
  206. data/smoke/initialize/Steepfile +0 -6
  207. data/smoke/initialize/a.rb +0 -12
  208. data/smoke/initialize/a.rbs +0 -3
  209. data/smoke/initialize/test_expectations.yml +0 -1
  210. data/smoke/integer/Steepfile +0 -6
  211. data/smoke/integer/a.rb +0 -26
  212. data/smoke/integer/test_expectations.yml +0 -110
  213. data/smoke/interface/Steepfile +0 -6
  214. data/smoke/interface/a.rb +0 -12
  215. data/smoke/interface/a.rbs +0 -12
  216. data/smoke/interface/test_expectations.yml +0 -23
  217. data/smoke/kwbegin/Steepfile +0 -6
  218. data/smoke/kwbegin/a.rb +0 -7
  219. data/smoke/kwbegin/test_expectations.yml +0 -17
  220. data/smoke/lambda/Steepfile +0 -6
  221. data/smoke/lambda/a.rb +0 -10
  222. data/smoke/lambda/test_expectations.yml +0 -17
  223. data/smoke/literal/Steepfile +0 -6
  224. data/smoke/literal/a.rb +0 -11
  225. data/smoke/literal/b.rb +0 -7
  226. data/smoke/literal/literal_methods.rbs +0 -4
  227. data/smoke/literal/test_expectations.yml +0 -106
  228. data/smoke/map/Steepfile +0 -6
  229. data/smoke/map/a.rb +0 -5
  230. data/smoke/map/test_expectations.yml +0 -1
  231. data/smoke/method/Steepfile +0 -6
  232. data/smoke/method/a.rb +0 -21
  233. data/smoke/method/a.rbs +0 -4
  234. data/smoke/method/b.rb +0 -25
  235. data/smoke/method/c.rb +0 -5
  236. data/smoke/method/d.rb +0 -1
  237. data/smoke/method/d.rbs +0 -3
  238. data/smoke/method/test_expectations.yml +0 -121
  239. data/smoke/module/Steepfile +0 -6
  240. data/smoke/module/a.rb +0 -19
  241. data/smoke/module/a.rbs +0 -16
  242. data/smoke/module/b.rb +0 -6
  243. data/smoke/module/c.rb +0 -22
  244. data/smoke/module/d.rb +0 -4
  245. data/smoke/module/e.rb +0 -13
  246. data/smoke/module/f.rb +0 -11
  247. data/smoke/module/test_expectations.yml +0 -75
  248. data/smoke/regexp/Steepfile +0 -6
  249. data/smoke/regexp/a.rb +0 -109
  250. data/smoke/regexp/b.rb +0 -79
  251. data/smoke/regexp/test_expectations.yml +0 -615
  252. data/smoke/regression/Steepfile +0 -6
  253. data/smoke/regression/array.rb +0 -7
  254. data/smoke/regression/block_param_split.rb +0 -7
  255. data/smoke/regression/block_param_split.rbs +0 -3
  256. data/smoke/regression/empty_yield.rb +0 -5
  257. data/smoke/regression/empty_yield.rbs +0 -3
  258. data/smoke/regression/enumerator_product.rb +0 -1
  259. data/smoke/regression/fun.rb +0 -8
  260. data/smoke/regression/fun.rbs +0 -4
  261. data/smoke/regression/hash.rb +0 -7
  262. data/smoke/regression/hello world.rb +0 -1
  263. data/smoke/regression/issue_328.rb +0 -1
  264. data/smoke/regression/issue_328.rbs +0 -0
  265. data/smoke/regression/issue_332.rb +0 -11
  266. data/smoke/regression/issue_332.rbs +0 -19
  267. data/smoke/regression/issue_372.rb +0 -8
  268. data/smoke/regression/issue_372.rbs +0 -4
  269. data/smoke/regression/lambda.rb +0 -3
  270. data/smoke/regression/masgn.rb +0 -4
  271. data/smoke/regression/poly_new.rb +0 -2
  272. data/smoke/regression/poly_new.rbs +0 -4
  273. data/smoke/regression/range.rb +0 -5
  274. data/smoke/regression/set_divide.rb +0 -12
  275. data/smoke/regression/test_expectations.yml +0 -120
  276. data/smoke/regression/thread.rb +0 -7
  277. data/smoke/rescue/Steepfile +0 -6
  278. data/smoke/rescue/a.rb +0 -48
  279. data/smoke/rescue/test_expectations.yml +0 -79
  280. data/smoke/self/Steepfile +0 -6
  281. data/smoke/self/a.rb +0 -21
  282. data/smoke/self/a.rbs +0 -4
  283. data/smoke/self/test_expectations.yml +0 -23
  284. data/smoke/skip/Steepfile +0 -6
  285. data/smoke/skip/skip.rb +0 -13
  286. data/smoke/skip/test_expectations.yml +0 -23
  287. data/smoke/stdout/Steepfile +0 -6
  288. data/smoke/stdout/a.rb +0 -8
  289. data/smoke/stdout/a.rbs +0 -7
  290. data/smoke/stdout/test_expectations.yml +0 -1
  291. data/smoke/super/Steepfile +0 -6
  292. data/smoke/super/a.rb +0 -30
  293. data/smoke/super/a.rbs +0 -10
  294. data/smoke/super/test_expectations.yml +0 -69
  295. data/smoke/toplevel/Steepfile +0 -6
  296. data/smoke/toplevel/a.rb +0 -3
  297. data/smoke/toplevel/a.rbs +0 -3
  298. data/smoke/toplevel/test_expectations.yml +0 -15
  299. data/smoke/tsort/Steepfile +0 -7
  300. data/smoke/tsort/a.rb +0 -12
  301. data/smoke/tsort/test_expectations.yml +0 -1
  302. data/smoke/type_case/Steepfile +0 -6
  303. data/smoke/type_case/a.rb +0 -24
  304. data/smoke/type_case/test_expectations.yml +0 -58
  305. data/smoke/unexpected/Steepfile +0 -6
  306. data/smoke/unexpected/test_expectations.yml +0 -13
  307. data/smoke/unexpected/unexpected.rbs +0 -3
  308. data/smoke/yield/Steepfile +0 -6
  309. data/smoke/yield/a.rb +0 -15
  310. data/smoke/yield/b.rb +0 -6
  311. data/smoke/yield/test_expectations.yml +0 -88
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: steep
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.pre.4
4
+ version: 1.7.0.dev.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-02 00:00:00.000000000 Z
11
+ date: 2024-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -253,6 +253,7 @@ files:
253
253
  - bin/setup
254
254
  - bin/steep
255
255
  - bin/steep-prof
256
+ - doc/narrowing.md
256
257
  - exe/steep
257
258
  - gemfile_steep/Gemfile
258
259
  - gemfile_steep/Gemfile.lock
@@ -265,6 +266,7 @@ files:
265
266
  - lib/steep/ast/annotation.rb
266
267
  - lib/steep/ast/annotation/collection.rb
267
268
  - lib/steep/ast/builtin.rb
269
+ - lib/steep/ast/ignore.rb
268
270
  - lib/steep/ast/node/type_application.rb
269
271
  - lib/steep/ast/node/type_assertion.rb
270
272
  - lib/steep/ast/types/any.rb
@@ -353,6 +355,7 @@ files:
353
355
  - lib/steep/services/type_name_completion.rb
354
356
  - lib/steep/signature/validator.rb
355
357
  - lib/steep/source.rb
358
+ - lib/steep/source/ignore_ranges.rb
356
359
  - lib/steep/subtyping/cache.rb
357
360
  - lib/steep/subtyping/check.rb
358
361
  - lib/steep/subtyping/constraints.rb
@@ -362,6 +365,7 @@ files:
362
365
  - lib/steep/thread_waiter.rb
363
366
  - lib/steep/type_construction.rb
364
367
  - lib/steep/type_inference/block_params.rb
368
+ - lib/steep/type_inference/case_when.rb
365
369
  - lib/steep/type_inference/constant_env.rb
366
370
  - lib/steep/type_inference/context.rb
367
371
  - lib/steep/type_inference/context_array.rb
@@ -393,11 +397,13 @@ files:
393
397
  - sig/shims/parser/source/range.rbs
394
398
  - sig/shims/string.rbs
395
399
  - sig/shims/tagged_logging.rbs
400
+ - sig/shims/yaml.rbs
396
401
  - sig/steep.rbs
397
402
  - sig/steep/annotation_parser.rbs
398
403
  - sig/steep/ast/annotation.rbs
399
404
  - sig/steep/ast/annotation/collection.rbs
400
405
  - sig/steep/ast/builtin.rbs
406
+ - sig/steep/ast/ignore.rbs
401
407
  - sig/steep/ast/node/type_application.rbs
402
408
  - sig/steep/ast/node/type_assertion.rbs
403
409
  - sig/steep/ast/types.rbs
@@ -487,6 +493,7 @@ files:
487
493
  - sig/steep/services/type_name_completion.rbs
488
494
  - sig/steep/signature/validator.rbs
489
495
  - sig/steep/source.rbs
496
+ - sig/steep/source/ignore_ranges.rbs
490
497
  - sig/steep/subtyping/cache.rbs
491
498
  - sig/steep/subtyping/check.rbs
492
499
  - sig/steep/subtyping/constraints.rbs
@@ -496,6 +503,8 @@ files:
496
503
  - sig/steep/thread_waiter.rbs
497
504
  - sig/steep/type_construction.rbs
498
505
  - sig/steep/type_inference/block_params.rbs
506
+ - sig/steep/type_inference/branch.rbs
507
+ - sig/steep/type_inference/case_when.rbs
499
508
  - sig/steep/type_inference/constant_env.rbs
500
509
  - sig/steep/type_inference/context.rbs
501
510
  - sig/steep/type_inference/context_array.rbs
@@ -507,261 +516,6 @@ files:
507
516
  - sig/steep/type_inference/type_env.rbs
508
517
  - sig/steep/type_inference/type_env_builder.rbs
509
518
  - sig/steep/typing.rbs
510
- - smoke/alias/Steepfile
511
- - smoke/alias/a.rb
512
- - smoke/alias/a.rbs
513
- - smoke/alias/b.rb
514
- - smoke/alias/c.rb
515
- - smoke/alias/test_expectations.yml
516
- - smoke/and/Steepfile
517
- - smoke/and/a.rb
518
- - smoke/and/test_expectations.yml
519
- - smoke/array/Steepfile
520
- - smoke/array/a.rb
521
- - smoke/array/b.rb
522
- - smoke/array/c.rb
523
- - smoke/array/test_expectations.yml
524
- - smoke/block/Steepfile
525
- - smoke/block/a.rb
526
- - smoke/block/a.rbs
527
- - smoke/block/b.rb
528
- - smoke/block/c.rb
529
- - smoke/block/c.rbs
530
- - smoke/block/d.rb
531
- - smoke/block/e.rb
532
- - smoke/block/e.rbs
533
- - smoke/block/test_expectations.yml
534
- - smoke/case/Steepfile
535
- - smoke/case/a.rb
536
- - smoke/case/test_expectations.yml
537
- - smoke/class/Steepfile
538
- - smoke/class/a.rb
539
- - smoke/class/a.rbs
540
- - smoke/class/b.rb
541
- - smoke/class/c.rb
542
- - smoke/class/f.rb
543
- - smoke/class/g.rb
544
- - smoke/class/h.rb
545
- - smoke/class/h.rbs
546
- - smoke/class/i.rb
547
- - smoke/class/i.rbs
548
- - smoke/class/test_expectations.yml
549
- - smoke/compact/Steepfile
550
- - smoke/compact/a.rb
551
- - smoke/compact/a.rbs
552
- - smoke/compact/b.rb
553
- - smoke/compact/test_expectations.yml
554
- - smoke/const/Steepfile
555
- - smoke/const/a.rb
556
- - smoke/const/b.rb
557
- - smoke/const/b.rbs
558
- - smoke/const/test_expectations.yml
559
- - smoke/diagnostics-rbs-duplicated/Steepfile
560
- - smoke/diagnostics-rbs-duplicated/a.rbs
561
- - smoke/diagnostics-rbs-duplicated/test_expectations.yml
562
- - smoke/diagnostics-rbs/Steepfile
563
- - smoke/diagnostics-rbs/duplicated-method-definition.rbs
564
- - smoke/diagnostics-rbs/generic-parameter-mismatch.rbs
565
- - smoke/diagnostics-rbs/inherit-module.rbs
566
- - smoke/diagnostics-rbs/invalid-method-overload.rbs
567
- - smoke/diagnostics-rbs/invalid-type-application.rbs
568
- - smoke/diagnostics-rbs/invalid_variance_annotation.rbs
569
- - smoke/diagnostics-rbs/mixin-class-error.rbs
570
- - smoke/diagnostics-rbs/nonregular-type-alias.rbs
571
- - smoke/diagnostics-rbs/recursive-alias.rbs
572
- - smoke/diagnostics-rbs/recursive-class.rbs
573
- - smoke/diagnostics-rbs/recursive-type-alias.rbs
574
- - smoke/diagnostics-rbs/superclass-mismatch.rbs
575
- - smoke/diagnostics-rbs/test_expectations.yml
576
- - smoke/diagnostics-rbs/unknown-method-alias.rbs
577
- - smoke/diagnostics-rbs/unknown-type-name-2.rbs
578
- - smoke/diagnostics-rbs/unknown-type-name.rbs
579
- - smoke/diagnostics-ruby-unsat/Steepfile
580
- - smoke/diagnostics-ruby-unsat/a.rbs
581
- - smoke/diagnostics-ruby-unsat/test_expectations.yml
582
- - smoke/diagnostics-ruby-unsat/unsatisfiable_constraint.rb
583
- - smoke/diagnostics/Steepfile
584
- - smoke/diagnostics/a.rbs
585
- - smoke/diagnostics/argument_type_mismatch.rb
586
- - smoke/diagnostics/block_body_type_mismatch.rb
587
- - smoke/diagnostics/block_type_mismatch.rb
588
- - smoke/diagnostics/break_type_mismatch.rb
589
- - smoke/diagnostics/different_method_parameter_kind.rb
590
- - smoke/diagnostics/else_on_exhaustive_case.rb
591
- - smoke/diagnostics/incompatible_annotation.rb
592
- - smoke/diagnostics/incompatible_argument.rb
593
- - smoke/diagnostics/incompatible_assignment.rb
594
- - smoke/diagnostics/method_arity_mismatch.rb
595
- - smoke/diagnostics/method_body_type_mismatch.rb
596
- - smoke/diagnostics/method_definition_missing.rb
597
- - smoke/diagnostics/method_parameter_mismatch.rb
598
- - smoke/diagnostics/method_return_type_annotation_mismatch.rb
599
- - smoke/diagnostics/missing_keyword.rb
600
- - smoke/diagnostics/no_method.rb
601
- - smoke/diagnostics/proc_type_expected.rb
602
- - smoke/diagnostics/required_block_missing.rb
603
- - smoke/diagnostics/return_type_mismatch.rb
604
- - smoke/diagnostics/test_expectations.yml
605
- - smoke/diagnostics/unexpected_block_given.rb
606
- - smoke/diagnostics/unexpected_dynamic_method.rb
607
- - smoke/diagnostics/unexpected_jump.rb
608
- - smoke/diagnostics/unexpected_jump_value.rb
609
- - smoke/diagnostics/unexpected_keyword.rb
610
- - smoke/diagnostics/unexpected_splat.rb
611
- - smoke/diagnostics/unexpected_yield.rb
612
- - smoke/diagnostics/unknown_constant_assigned.rb
613
- - smoke/diagnostics/unresolved_overloading.rb
614
- - smoke/diagnostics/unsupported_syntax.rb
615
- - smoke/dstr/Steepfile
616
- - smoke/dstr/a.rb
617
- - smoke/dstr/test_expectations.yml
618
- - smoke/ensure/Steepfile
619
- - smoke/ensure/a.rb
620
- - smoke/ensure/test_expectations.yml
621
- - smoke/enumerator/Steepfile
622
- - smoke/enumerator/a.rb
623
- - smoke/enumerator/b.rb
624
- - smoke/enumerator/test_expectations.yml
625
- - smoke/extension/Steepfile
626
- - smoke/extension/a.rb
627
- - smoke/extension/a.rbs
628
- - smoke/extension/b.rb
629
- - smoke/extension/c.rb
630
- - smoke/extension/d.rb
631
- - smoke/extension/e.rb
632
- - smoke/extension/e.rbs
633
- - smoke/extension/f.rb
634
- - smoke/extension/f.rbs
635
- - smoke/extension/test_expectations.yml
636
- - smoke/hash/Steepfile
637
- - smoke/hash/a.rb
638
- - smoke/hash/a.rbs
639
- - smoke/hash/b.rb
640
- - smoke/hash/c.rb
641
- - smoke/hash/d.rb
642
- - smoke/hash/e.rb
643
- - smoke/hash/e.rbs
644
- - smoke/hash/f.rb
645
- - smoke/hash/test_expectations.yml
646
- - smoke/hello/Steepfile
647
- - smoke/hello/hello.rb
648
- - smoke/hello/hello.rbs
649
- - smoke/hello/test_expectations.yml
650
- - smoke/if/Steepfile
651
- - smoke/if/a.rb
652
- - smoke/if/test_expectations.yml
653
- - smoke/implements/Steepfile
654
- - smoke/implements/a.rb
655
- - smoke/implements/a.rbs
656
- - smoke/implements/b.rb
657
- - smoke/implements/b.rbs
658
- - smoke/implements/test_expectations.yml
659
- - smoke/initialize/Steepfile
660
- - smoke/initialize/a.rb
661
- - smoke/initialize/a.rbs
662
- - smoke/initialize/test_expectations.yml
663
- - smoke/integer/Steepfile
664
- - smoke/integer/a.rb
665
- - smoke/integer/test_expectations.yml
666
- - smoke/interface/Steepfile
667
- - smoke/interface/a.rb
668
- - smoke/interface/a.rbs
669
- - smoke/interface/test_expectations.yml
670
- - smoke/kwbegin/Steepfile
671
- - smoke/kwbegin/a.rb
672
- - smoke/kwbegin/test_expectations.yml
673
- - smoke/lambda/Steepfile
674
- - smoke/lambda/a.rb
675
- - smoke/lambda/test_expectations.yml
676
- - smoke/literal/Steepfile
677
- - smoke/literal/a.rb
678
- - smoke/literal/b.rb
679
- - smoke/literal/literal_methods.rbs
680
- - smoke/literal/test_expectations.yml
681
- - smoke/map/Steepfile
682
- - smoke/map/a.rb
683
- - smoke/map/test_expectations.yml
684
- - smoke/method/Steepfile
685
- - smoke/method/a.rb
686
- - smoke/method/a.rbs
687
- - smoke/method/b.rb
688
- - smoke/method/c.rb
689
- - smoke/method/d.rb
690
- - smoke/method/d.rbs
691
- - smoke/method/test_expectations.yml
692
- - smoke/module/Steepfile
693
- - smoke/module/a.rb
694
- - smoke/module/a.rbs
695
- - smoke/module/b.rb
696
- - smoke/module/c.rb
697
- - smoke/module/d.rb
698
- - smoke/module/e.rb
699
- - smoke/module/f.rb
700
- - smoke/module/test_expectations.yml
701
- - smoke/regexp/Steepfile
702
- - smoke/regexp/a.rb
703
- - smoke/regexp/b.rb
704
- - smoke/regexp/test_expectations.yml
705
- - smoke/regression/Steepfile
706
- - smoke/regression/array.rb
707
- - smoke/regression/block_param_split.rb
708
- - smoke/regression/block_param_split.rbs
709
- - smoke/regression/empty_yield.rb
710
- - smoke/regression/empty_yield.rbs
711
- - smoke/regression/enumerator_product.rb
712
- - smoke/regression/fun.rb
713
- - smoke/regression/fun.rbs
714
- - smoke/regression/hash.rb
715
- - smoke/regression/hello world.rb
716
- - smoke/regression/issue_328.rb
717
- - smoke/regression/issue_328.rbs
718
- - smoke/regression/issue_332.rb
719
- - smoke/regression/issue_332.rbs
720
- - smoke/regression/issue_372.rb
721
- - smoke/regression/issue_372.rbs
722
- - smoke/regression/lambda.rb
723
- - smoke/regression/masgn.rb
724
- - smoke/regression/poly_new.rb
725
- - smoke/regression/poly_new.rbs
726
- - smoke/regression/range.rb
727
- - smoke/regression/set_divide.rb
728
- - smoke/regression/test_expectations.yml
729
- - smoke/regression/thread.rb
730
- - smoke/rescue/Steepfile
731
- - smoke/rescue/a.rb
732
- - smoke/rescue/test_expectations.yml
733
- - smoke/self/Steepfile
734
- - smoke/self/a.rb
735
- - smoke/self/a.rbs
736
- - smoke/self/test_expectations.yml
737
- - smoke/skip/Steepfile
738
- - smoke/skip/skip.rb
739
- - smoke/skip/test_expectations.yml
740
- - smoke/stdout/Steepfile
741
- - smoke/stdout/a.rb
742
- - smoke/stdout/a.rbs
743
- - smoke/stdout/test_expectations.yml
744
- - smoke/super/Steepfile
745
- - smoke/super/a.rb
746
- - smoke/super/a.rbs
747
- - smoke/super/test_expectations.yml
748
- - smoke/toplevel/Steepfile
749
- - smoke/toplevel/a.rb
750
- - smoke/toplevel/a.rbs
751
- - smoke/toplevel/test_expectations.yml
752
- - smoke/tsort/Steepfile
753
- - smoke/tsort/a.rb
754
- - smoke/tsort/test_expectations.yml
755
- - smoke/type_case/Steepfile
756
- - smoke/type_case/a.rb
757
- - smoke/type_case/test_expectations.yml
758
- - smoke/unexpected/Steepfile
759
- - smoke/unexpected/test_expectations.yml
760
- - smoke/unexpected/unexpected.rbs
761
- - smoke/yield/Steepfile
762
- - smoke/yield/a.rb
763
- - smoke/yield/b.rb
764
- - smoke/yield/test_expectations.yml
765
519
  - steep.gemspec
766
520
  homepage: https://github.com/soutaro/steep
767
521
  licenses:
@@ -781,11 +535,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
781
535
  version: 3.0.0
782
536
  required_rubygems_version: !ruby/object:Gem::Requirement
783
537
  requirements:
784
- - - ">"
538
+ - - ">="
785
539
  - !ruby/object:Gem::Version
786
- version: 1.3.1
540
+ version: '0'
787
541
  requirements: []
788
- rubygems_version: 3.4.10
542
+ rubygems_version: 3.5.3
789
543
  signing_key:
790
544
  specification_version: 4
791
545
  summary: Gradual Typing for Ruby
@@ -1,6 +0,0 @@
1
- target :test do
2
- check "*.rb"
3
- signature "*.rbs"
4
-
5
- configure_code_diagnostics(Steep::Diagnostic::Ruby.all_error)
6
- end
data/smoke/alias/a.rb DELETED
@@ -1,16 +0,0 @@
1
- # @type var x: foo
2
- x = ""
3
-
4
- x + 123
5
-
6
- # @type var y: bar
7
- y = x
8
- y = []
9
-
10
- # @type var z: Symbol
11
- case x
12
- when String
13
- z = x
14
- when Integer
15
- z = x
16
- end
data/smoke/alias/a.rbs DELETED
@@ -1,10 +0,0 @@
1
- type foo = String | Integer
2
- type bar = Array[Integer] | foo
3
- type baz = [String, Symbol]
4
-
5
- type name = :foo | :bar
6
-
7
- class AliasMethodArg
8
- def foo: (name) -> Integer
9
- | (Symbol) -> String
10
- end
data/smoke/alias/b.rb DELETED
@@ -1,6 +0,0 @@
1
- # @type var a: baz
2
-
3
- a = ["", :foo]
4
-
5
- # @type var x: Integer
6
- x = a[0]
data/smoke/alias/c.rb DELETED
@@ -1,8 +0,0 @@
1
- # @type var x: String
2
-
3
- x = AliasMethodArg.new.foo(:foo)
4
-
5
- # @type var name: name
6
- name = :bar
7
-
8
- x = AliasMethodArg.new.foo(name)
@@ -1,96 +0,0 @@
1
- ---
2
- - file: a.rb
3
- diagnostics:
4
- - range:
5
- start:
6
- line: 4
7
- character: 0
8
- end:
9
- line: 4
10
- character: 7
11
- severity: ERROR
12
- message: |-
13
- Cannot find compatible overloading of method `+` of type `(::String | ::Integer)`
14
- Method types:
15
- def +: ((::string & ::Integer)) -> (::String | ::Integer)
16
- | ((::string & ::Float)) -> (::String | ::Float)
17
- | ((::string & ::Rational)) -> (::String | ::Rational)
18
- | ((::string & ::Complex)) -> (::String | ::Complex)
19
- code: Ruby::UnresolvedOverloading
20
- - range:
21
- start:
22
- line: 13
23
- character: 2
24
- end:
25
- line: 13
26
- character: 7
27
- severity: ERROR
28
- message: |-
29
- Cannot assign a value of type `::String` to a variable of type `::Symbol`
30
- ::String <: ::Symbol
31
- ::Object <: ::Symbol
32
- ::BasicObject <: ::Symbol
33
- code: Ruby::IncompatibleAssignment
34
- - range:
35
- start:
36
- line: 15
37
- character: 2
38
- end:
39
- line: 15
40
- character: 7
41
- severity: ERROR
42
- message: |-
43
- Cannot assign a value of type `::Integer` to a variable of type `::Symbol`
44
- ::Integer <: ::Symbol
45
- ::Numeric <: ::Symbol
46
- ::Object <: ::Symbol
47
- ::BasicObject <: ::Symbol
48
- code: Ruby::IncompatibleAssignment
49
- - file: b.rb
50
- diagnostics:
51
- - range:
52
- start:
53
- line: 6
54
- character: 0
55
- end:
56
- line: 6
57
- character: 8
58
- severity: ERROR
59
- message: |-
60
- Cannot assign a value of type `::String` to a variable of type `::Integer`
61
- ::String <: ::Integer
62
- ::Object <: ::Integer
63
- ::BasicObject <: ::Integer
64
- code: Ruby::IncompatibleAssignment
65
- - file: c.rb
66
- diagnostics:
67
- - range:
68
- start:
69
- line: 3
70
- character: 0
71
- end:
72
- line: 3
73
- character: 32
74
- severity: ERROR
75
- message: |-
76
- Cannot assign a value of type `::Integer` to a variable of type `::String`
77
- ::Integer <: ::String
78
- ::Numeric <: ::String
79
- ::Object <: ::String
80
- ::BasicObject <: ::String
81
- code: Ruby::IncompatibleAssignment
82
- - range:
83
- start:
84
- line: 8
85
- character: 0
86
- end:
87
- line: 8
88
- character: 32
89
- severity: ERROR
90
- message: |-
91
- Cannot assign a value of type `::Integer` to a variable of type `::String`
92
- ::Integer <: ::String
93
- ::Numeric <: ::String
94
- ::Object <: ::String
95
- ::BasicObject <: ::String
96
- code: Ruby::IncompatibleAssignment
data/smoke/and/Steepfile DELETED
@@ -1,6 +0,0 @@
1
- target :test do
2
- check "*.rb"
3
- signature "*.rbs"
4
-
5
- configure_code_diagnostics(Steep::Diagnostic::Ruby.all_error)
6
- end
data/smoke/and/a.rb DELETED
@@ -1,8 +0,0 @@
1
- # @type var b: String
2
- # @type var c: ::Integer
3
-
4
- a = ["foo"].sample
5
-
6
- b = a && a.to_str
7
-
8
- c = a && a.to_str
@@ -1,29 +0,0 @@
1
- ---
2
- - file: a.rb
3
- diagnostics:
4
- - range:
5
- start:
6
- line: 6
7
- character: 0
8
- end:
9
- line: 6
10
- character: 17
11
- severity: ERROR
12
- message: |-
13
- Cannot assign a value of type `(nil | ::String)` to a variable of type `::String`
14
- (nil | ::String) <: ::String
15
- nil <: ::String
16
- code: Ruby::IncompatibleAssignment
17
- - range:
18
- start:
19
- line: 8
20
- character: 0
21
- end:
22
- line: 8
23
- character: 17
24
- severity: ERROR
25
- message: |-
26
- Cannot assign a value of type `(nil | ::String)` to a variable of type `::Integer`
27
- (nil | ::String) <: ::Integer
28
- nil <: ::Integer
29
- code: Ruby::IncompatibleAssignment
@@ -1,6 +0,0 @@
1
- target :test do
2
- check "*.rb"
3
- signature "*.rbs"
4
-
5
- configure_code_diagnostics(Steep::Diagnostic::Ruby.all_error)
6
- end
data/smoke/array/a.rb DELETED
@@ -1,18 +0,0 @@
1
- # @type var a: Array[Integer]
2
-
3
- a = []
4
- a[1] = 3
5
-
6
- a[2] = "foo"
7
-
8
- # @type var i: Integer
9
- i = a[0]
10
-
11
- # @type var s: String
12
- s = a[1]
13
-
14
-
15
- b = ["a", "b", "c"]
16
-
17
- s = b[0]
18
- i = b[1]
data/smoke/array/b.rb DELETED
@@ -1,12 +0,0 @@
1
- x = ""
2
- y = 1
3
-
4
- x = y
5
- y = x
6
-
7
- # @type var a: Array[Integer]
8
- # @type var b: Array[String]
9
-
10
- a = []
11
- b = a
12
- a = b
data/smoke/array/c.rb DELETED
@@ -1,6 +0,0 @@
1
- # @type var x: Array[String?]
2
-
3
- x = ["foo"]
4
- x = [nil]
5
-
6
- x = [1]