rbs 2.5.0 → 2.7.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +1 -1
  3. data/.github/workflows/ruby.yml +3 -3
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +5 -0
  6. data/CHANGELOG.md +104 -0
  7. data/Gemfile.lock +11 -10
  8. data/Rakefile +2 -39
  9. data/Steepfile +7 -2
  10. data/core/basic_object.rbs +2 -2
  11. data/core/constants.rbs +1 -1
  12. data/core/env.rbs +1 -1323
  13. data/core/fiber.rbs +304 -14
  14. data/core/float.rbs +2 -0
  15. data/core/global_variables.rbs +1 -1
  16. data/core/hash.rbs +3 -3
  17. data/core/io.rbs +95 -1
  18. data/core/kernel.rbs +3 -3
  19. data/core/module.rbs +1 -1
  20. data/core/random.rbs +5 -220
  21. data/core/rational.rbs +3 -3
  22. data/core/rbs/unnamed/argf.rbs +965 -0
  23. data/core/rbs/unnamed/env_class.rbs +1325 -0
  24. data/core/rbs/unnamed/random.rbs +270 -0
  25. data/core/regexp.rbs +2 -3
  26. data/core/string_io.rbs +1 -1
  27. data/core/warning.rbs +1 -1
  28. data/docs/CONTRIBUTING.md +2 -2
  29. data/ext/rbs_extension/lexer.c +1343 -1353
  30. data/ext/rbs_extension/lexer.re +2 -2
  31. data/ext/rbs_extension/parser.c +36 -10
  32. data/ext/rbs_extension/rbs_extension.h +1 -1
  33. data/ext/rbs_extension/ruby_objs.c +4 -2
  34. data/ext/rbs_extension/ruby_objs.h +2 -2
  35. data/ext/rbs_extension/unescape.c +17 -10
  36. data/lib/rbs/ancestor_graph.rb +2 -0
  37. data/lib/rbs/annotate/annotations.rb +2 -0
  38. data/lib/rbs/annotate/formatter.rb +4 -2
  39. data/lib/rbs/annotate/rdoc_annotator.rb +2 -0
  40. data/lib/rbs/annotate/rdoc_source.rb +2 -0
  41. data/lib/rbs/annotate.rb +2 -0
  42. data/lib/rbs/ast/annotation.rb +2 -0
  43. data/lib/rbs/ast/comment.rb +2 -0
  44. data/lib/rbs/ast/declarations.rb +2 -0
  45. data/lib/rbs/ast/members.rb +8 -3
  46. data/lib/rbs/ast/type_param.rb +3 -1
  47. data/lib/rbs/buffer.rb +2 -0
  48. data/lib/rbs/builtin_names.rb +2 -0
  49. data/lib/rbs/cli.rb +41 -2
  50. data/lib/rbs/collection/cleaner.rb +2 -0
  51. data/lib/rbs/collection/config/lockfile_generator.rb +8 -3
  52. data/lib/rbs/collection/config.rb +2 -0
  53. data/lib/rbs/collection/installer.rb +2 -0
  54. data/lib/rbs/collection/sources/base.rb +14 -0
  55. data/lib/rbs/collection/sources/git.rb +3 -0
  56. data/lib/rbs/collection/sources/rubygems.rb +3 -0
  57. data/lib/rbs/collection/sources/stdlib.rb +12 -7
  58. data/lib/rbs/collection/sources.rb +3 -0
  59. data/lib/rbs/collection.rb +2 -0
  60. data/lib/rbs/constant.rb +2 -0
  61. data/lib/rbs/constant_table.rb +5 -3
  62. data/lib/rbs/definition.rb +13 -1
  63. data/lib/rbs/definition_builder/ancestor_builder.rb +2 -0
  64. data/lib/rbs/definition_builder/method_builder.rb +2 -0
  65. data/lib/rbs/definition_builder.rb +75 -13
  66. data/lib/rbs/environment.rb +2 -0
  67. data/lib/rbs/environment_loader.rb +25 -5
  68. data/lib/rbs/environment_walker.rb +2 -0
  69. data/lib/rbs/errors.rb +3 -1
  70. data/lib/rbs/factory.rb +4 -0
  71. data/lib/rbs/location_aux.rb +3 -1
  72. data/lib/rbs/locator.rb +2 -0
  73. data/lib/rbs/method_type.rb +7 -5
  74. data/lib/rbs/namespace.rb +9 -5
  75. data/lib/rbs/parser_aux.rb +2 -0
  76. data/lib/rbs/parser_compat/lexer_error.rb +2 -0
  77. data/lib/rbs/parser_compat/located_value.rb +2 -0
  78. data/lib/rbs/parser_compat/semantics_error.rb +2 -0
  79. data/lib/rbs/parser_compat/syntax_error.rb +2 -0
  80. data/lib/rbs/prototype/helpers.rb +14 -13
  81. data/lib/rbs/prototype/rb.rb +107 -56
  82. data/lib/rbs/prototype/rbi.rb +73 -33
  83. data/lib/rbs/prototype/runtime.rb +17 -7
  84. data/lib/rbs/repository.rb +4 -4
  85. data/lib/rbs/resolver/constant_resolver.rb +2 -0
  86. data/lib/rbs/resolver/type_name_resolver.rb +2 -0
  87. data/lib/rbs/sorter.rb +168 -0
  88. data/lib/rbs/substitution.rb +2 -0
  89. data/lib/rbs/test/errors.rb +2 -0
  90. data/lib/rbs/test/hook.rb +2 -0
  91. data/lib/rbs/test/observer.rb +2 -0
  92. data/lib/rbs/test/setup.rb +2 -0
  93. data/lib/rbs/test/setup_helper.rb +8 -1
  94. data/lib/rbs/test/spy.rb +2 -0
  95. data/lib/rbs/test/tester.rb +2 -0
  96. data/lib/rbs/test/type_check.rb +2 -0
  97. data/lib/rbs/test.rb +2 -0
  98. data/lib/rbs/type_alias_dependency.rb +2 -0
  99. data/lib/rbs/type_alias_regularity.rb +2 -0
  100. data/lib/rbs/type_name.rb +2 -0
  101. data/lib/rbs/type_name_resolver.rb +4 -2
  102. data/lib/rbs/types.rb +68 -18
  103. data/lib/rbs/validator.rb +2 -0
  104. data/lib/rbs/variance_calculator.rb +2 -0
  105. data/lib/rbs/vendorer.rb +2 -0
  106. data/lib/rbs/version.rb +3 -1
  107. data/lib/rbs/writer.rb +3 -1
  108. data/lib/rbs.rb +4 -2
  109. data/lib/rdoc/discover.rb +20 -0
  110. data/lib/rdoc_plugin/parser.rb +163 -0
  111. data/schema/members.json +4 -1
  112. data/schema/methodType.json +7 -1
  113. data/schema/types.json +13 -1
  114. data/sig/ancestor_builder.rbs +66 -7
  115. data/sig/annotation.rbs +7 -6
  116. data/sig/builtin_names.rbs +2 -0
  117. data/sig/cli.rbs +8 -0
  118. data/sig/collection/config.rbs +16 -4
  119. data/sig/collection/installer.rbs +2 -0
  120. data/sig/collection/sources.rbs +23 -4
  121. data/sig/definition.rbs +8 -0
  122. data/sig/definition_builder.rbs +64 -7
  123. data/sig/environment.rbs +4 -0
  124. data/sig/environment_loader.rbs +4 -2
  125. data/sig/factory.rbs +5 -0
  126. data/sig/location.rbs +8 -4
  127. data/sig/manifest.yaml +1 -0
  128. data/sig/members.rbs +1 -1
  129. data/sig/method_builder.rbs +10 -0
  130. data/sig/namespace.rbs +54 -31
  131. data/sig/prototype/helpers.rbs +23 -0
  132. data/sig/prototype/rb.rbs +88 -0
  133. data/sig/prototype/rbi.rbs +73 -0
  134. data/sig/rbs.rbs +8 -6
  135. data/sig/rdoc/rbs.rbs +63 -0
  136. data/sig/shims/abstract_syntax_tree.rbs +25 -0
  137. data/sig/shims/enumerable.rbs +5 -0
  138. data/sig/shims/pp.rbs +3 -0
  139. data/sig/shims/ripper.rbs +8 -0
  140. data/sig/{polyfill.rbs → shims.rbs} +1 -31
  141. data/sig/sorter.rbs +23 -0
  142. data/sig/types.rbs +14 -2
  143. data/sig/vendorer.rbs +32 -25
  144. data/stdlib/bigdecimal/0/big_decimal.rbs +250 -0
  145. data/stdlib/cgi/0/manifest.yaml +2 -0
  146. data/stdlib/date/0/time.rbs +26 -0
  147. data/stdlib/erb/0/erb.rbs +107 -0
  148. data/stdlib/etc/0/etc.rbs +745 -0
  149. data/stdlib/logger/0/logger.rbs +2 -2
  150. data/stdlib/minitest/0/kernel.rbs +42 -0
  151. data/stdlib/minitest/0/manifest.yaml +2 -0
  152. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +49 -0
  153. data/stdlib/minitest/0/minitest/assertion.rbs +16 -0
  154. data/stdlib/minitest/0/minitest/assertions.rbs +545 -0
  155. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +16 -0
  156. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  157. data/stdlib/minitest/0/minitest/benchmark.rbs +258 -0
  158. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  159. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  160. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  161. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  162. data/stdlib/minitest/0/minitest/mock.rbs +60 -0
  163. data/stdlib/minitest/0/minitest/parallel/executor.rbs +42 -0
  164. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +6 -0
  165. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  166. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  167. data/stdlib/minitest/0/minitest/pride_io.rbs +54 -0
  168. data/stdlib/minitest/0/minitest/pride_lol.rbs +17 -0
  169. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  170. data/stdlib/minitest/0/minitest/reportable.rbs +51 -0
  171. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  172. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  173. data/stdlib/minitest/0/minitest/runnable.rbs +131 -0
  174. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  175. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  176. data/stdlib/minitest/0/minitest/spec/dsl.rbs +125 -0
  177. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  178. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +76 -0
  179. data/stdlib/minitest/0/minitest/summary_reporter.rbs +25 -0
  180. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  181. data/stdlib/minitest/0/minitest/test.rbs +76 -0
  182. data/stdlib/minitest/0/minitest/unexpected_error.rbs +10 -0
  183. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  184. data/stdlib/minitest/0/minitest/unit.rbs +5 -0
  185. data/stdlib/minitest/0/minitest.rbs +966 -0
  186. data/stdlib/rdoc/0/rdoc.rbs +758 -0
  187. data/stdlib/rubygems/0/errors.rbs +113 -0
  188. data/steep/Gemfile.lock +8 -8
  189. metadata +63 -7
  190. data/lib/rbs/char_scanner.rb +0 -20
  191. data/stdlib/fiber/0/fiber.rbs +0 -99
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27ca93cca7c3a52b9a4900a9283e1a78ecb6e7ac3804deb9af4de8f3b077fc21
4
- data.tar.gz: 288f492b1cea76d05ebe042835cf5c0c0c37dbfe5db3d7c811ee3e92cc9d8387
3
+ metadata.gz: aeae92c94238c9c1b417f2efd334c6af1435c94b6f43480f6979b413694936b4
4
+ data.tar.gz: 8abf8d32d6ce0b2103696436698fe5687bef05a677da6f46a317f83adfe73380
5
5
  SHA512:
6
- metadata.gz: ea7e0a02f77fe2d8ae69e84f7417e0a7aecbcf23f1f77526be9a4f03f4bb46938f5756d11d133421c4a1c5a0f8f5fc7306403b8286076bc0d178af3385613063
7
- data.tar.gz: a2736bce2d3b9a921e1d004811a8ba2bc6dae9c394423ab5c2e9a29ed56beb127eda83076068432e31777f6df8c30e782cece8e9b1e27cd6f07a6d221dd7d0ab
6
+ metadata.gz: 6bdb78cad95578cf94728625e0d20ca211a1ed8140a728f5f723b2331731733d73bc6d33e0ec4f914782ff1cde52d52079c5625afe008a297c1952b115870075
7
+ data.tar.gz: 0c56b8f9ce630cc77ec080ca5ad172611005fb2cd6cfcc18ea239dc5a8490aa11f74a0f4bd9d3045a8e71f6920b41d203fb7d228207696ea92d0c74c9069b317
@@ -29,6 +29,6 @@ jobs:
29
29
  - name: bin/setup
30
30
  run: |
31
31
  bin/setup
32
- - name: Run test
32
+ - name: Check if `rake annotate` has been executed
33
33
  run: |
34
34
  bundle exec rake annotate confirm_annotation
@@ -46,9 +46,9 @@ jobs:
46
46
  if: contains(matrix.job, 'lexer')
47
47
  run: |
48
48
  cd /tmp
49
- curl -L https://github.com/skvadrik/re2c/archive/refs/tags/2.2.tar.gz > re2c-2.2.tar.gz
50
- tar xf re2c-2.2.tar.gz
51
- cd re2c-2.2
49
+ curl -L https://github.com/skvadrik/re2c/archive/refs/tags/3.0.tar.gz > re2c-3.0.tar.gz
50
+ tar xf re2c-3.0.tar.gz
51
+ cd re2c-3.0
52
52
  autoreconf -i -W all
53
53
  ./configure
54
54
  make
data/.gitignore CHANGED
@@ -18,3 +18,5 @@
18
18
  lib/**/*.bundle
19
19
  lib/**/*.so
20
20
  lib/**/*.dll
21
+ doc/
22
+ **/*.gem
data/.rubocop.yml CHANGED
@@ -13,3 +13,8 @@ Lint/DuplicateMethods:
13
13
  Enabled: true
14
14
  Include:
15
15
  - 'test/**/*_test.rb'
16
+
17
+ Style/FrozenStringLiteralComment:
18
+ Enabled: true
19
+ Include:
20
+ - 'lib/**/*.rb'
data/CHANGELOG.md CHANGED
@@ -2,6 +2,110 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 2.7.0.pre.1 (2022-09-02)
6
+
7
+ See [Release Note 2.7](https://github.com/ruby/rbs/wiki/Release-Note-2.7) for the highlights of this release.
8
+
9
+ ### Signature updates
10
+
11
+ * fiber ([#1071](https://github.com/ruby/rbs/pull/1071))
12
+ * `BigDecimal` ([#1053](https://github.com/ruby/rbs/pull/1053))
13
+ * `ERB::Util`, `ERB::DefMethod` ([#1074](https://github.com/ruby/rbs/pull/1074))
14
+ * `Float::Infinity` ([#1095](https://github.com/ruby/rbs/pull/1095))
15
+ * `Logger` ([#1046](https://github.com/ruby/rbs/pull/1046))
16
+ * `IO.pipe`, `IO.foreach` ([#1057](https://github.com/ruby/rbs/pull/1057))
17
+ * `Module#refine` ([#1064](https://github.com/ruby/rbs/pull/1064))
18
+ * `Regexp.new` ([#1059](https://github.com/ruby/rbs/pull/1059))
19
+ * `StringIO#write` ([#1065](https://github.com/ruby/rbs/pull/1065))
20
+ * `Warning.#warn`, `Kernel.#warn` ([#1056](https://github.com/ruby/rbs/pull/1056))
21
+
22
+ ### Language updates
23
+
24
+ * Type of `self` in blocks/procs ([#1077](https://github.com/ruby/rbs/issues/1077), [#1101](https://github.com/ruby/rbs/pull/1101))
25
+
26
+ ### Library changes
27
+
28
+ * RDoc plugin ([#1048](https://github.com/ruby/rbs/pull/1048))
29
+ * Dedupe method comments ([#1103](https://github.com/ruby/rbs/pull/1103))
30
+ * Reduce object allocations for GC ([#1102](https://github.com/ruby/rbs/pull/1102))
31
+ * Add `frozen_string_literal: true` ([#1100](https://github.com/ruby/rbs/pull/1100))
32
+ * Load dependencies on `-r` option also ([#1013](https://github.com/ruby/rbs/pull/1013))
33
+ * Fix DefinitionBuilder for methods aliased from module self constraints ([#1099](https://github.com/ruby/rbs/pull/1099))
34
+ * Fix RBS type definitions ([#1098](https://github.com/ruby/rbs/pull/1098))
35
+ * Give aliases of `.new` methods correct type ([#1097](https://github.com/ruby/rbs/pull/1097))
36
+ * `nil` versions are discouraged and will be deprecated in Rubygems 4 ([#1091](https://github.com/ruby/rbs/pull/1091))
37
+ * Fixes towards Rubygems 4.0 ([#1090](https://github.com/ruby/rbs/pull/1090))
38
+ * Remove redundant `add` for `Repository.default` ([#1062](https://github.com/ruby/rbs/pull/1062))
39
+ * Refactor: Use Repository in stdlib source ([#1063](https://github.com/ruby/rbs/pull/1063))
40
+ * Move `bin/sort` implementation to under `lib/` ([#1051](https://github.com/ruby/rbs/pull/1051))
41
+
42
+ #### rbs prototype
43
+
44
+ * Fix some error on `prototype runtime` ([#1055](https://github.com/ruby/rbs/pull/1055))
45
+ * Skip existing RBS files from batch `prototype` ([#1060](https://github.com/ruby/rbs/pull/1060))
46
+
47
+ ### Miscellaneous
48
+
49
+ * Discard outputs from test code ([#1093](https://github.com/ruby/rbs/pull/1093))
50
+ * Skip testing visibility methods with Ruby 3.2 ([#1082](https://github.com/ruby/rbs/pull/1082))
51
+
52
+ ## 2.6.0 (2022-06-22)
53
+
54
+ RBS 2.6 ships with `rbs prototype` commands improvements and signature updates.
55
+ New minitest RBS definitions will help you to type check your tests.
56
+
57
+ ### Signature updates
58
+
59
+ * etc ([\#1006](https://github.com/ruby/rbs/pull/1006))
60
+ * minitest ([\#1009](https://github.com/ruby/rbs/pull/1009))
61
+ * date ([\#1033](https://github.com/ruby/rbs/pull/1033))
62
+ * `ENV`. `ARGF`, `Random::Base` ([\#1041](https://github.com/ruby/rbs/pull/1041))
63
+ * `Hash#dig` ([\#1011](https://github.com/ruby/rbs/pull/1011))
64
+ * `Hash#reject` ([\#1016](https://github.com/ruby/rbs/pull/1016))
65
+ * `Kernel?.fail` ([\#1026](https://github.com/ruby/rbs/pull/1026), [\#1028](https://github.com/ruby/rbs/pull/1028))
66
+ * `Rational#*` ([\#1012](https://github.com/ruby/rbs/pull/1012))
67
+ * `Regexp.new` ([\#1040](https://github.com/ruby/rbs/pull/1040))
68
+
69
+ ### Library changes
70
+
71
+ * Add `visibility` columns in {AttrReader,AttrAccessor,AttrWriter}#to_json ([\#1014](https://github.com/ruby/rbs/pull/1014))
72
+ * Add support for RSpec's verifying doubles in test setup helper ([\#1015](https://github.com/ruby/rbs/pull/1015))
73
+ * Fix lexer to analyze escape characters ([\#1043](https://github.com/ruby/rbs/pull/1043))
74
+
75
+ #### rbs prototype
76
+
77
+ * [rb] Support the case where the return value is `self` ([\#1003](https://github.com/ruby/rbs/pull/1003))
78
+ * [rb] Lean to the optional side ([\#1021](https://github.com/ruby/rbs/pull/1021))
79
+ * [rb] Fix method commenting ([\#1027](https://github.com/ruby/rbs/pull/1027))
80
+ * [runtime] Fix decls of output from `Prototype::Runtime` ([\#1030](https://github.com/ruby/rbs/pull/1030))
81
+ * [runtime] Fix class name resolution of prototype runtime ([\#1032](https://github.com/ruby/rbs/pull/1032))
82
+ * [rbi] Improve `Prototype::RBI` ([\#1018](https://github.com/ruby/rbs/pull/1018))
83
+
84
+ ### Miscellaneous
85
+
86
+ * Fix typo in `CONTRIBUTING.md` ([\#1004](https://github.com/ruby/rbs/pull/1004))
87
+ * Use manifest.yaml instead of manually for validate task ([\#1010](https://github.com/ruby/rbs/pull/1010))
88
+ * Update re2c ([\#1017](https://github.com/ruby/rbs/pull/1017))
89
+ * Type check `Prototype::RB` ([\#1019](https://github.com/ruby/rbs/pull/1019))
90
+ * Minor cleanup & fix ([\#1020](https://github.com/ruby/rbs/pull/1020))
91
+ * Fix type errors ([\#1023](https://github.com/ruby/rbs/pull/1023))
92
+ * Clarify GHA step name for rake annotate ([\#1024](https://github.com/ruby/rbs/pull/1024))
93
+ * Silence parser warning ([\#1039](https://github.com/ruby/rbs/pull/1039))
94
+ * Fix warnings ([\#1035](https://github.com/ruby/rbs/pull/1035))
95
+
96
+ ## 2.5.1 (2022-06-19)
97
+
98
+ This is a maintenance release mainly to fix errors detected in CI of `ruby/ruby`.
99
+ Nothing changed related to the users of RBS gem.
100
+
101
+ ### Miscellaneous
102
+
103
+ * Skip failing tests on ruby/ruby CI ([\#1036](https://github.com/ruby/rbs/pull/1036))
104
+ * Fix warnings ([\#1035](https://github.com/ruby/rbs/pull/1035) except changes on `test/tools/sort_test.rb` that is not included in this release)
105
+ * Fix `Regexp.new` argument ([\#1034](https://github.com/ruby/rbs/pull/1034))
106
+ * Fix errors with OpenSSL 3 ([\#1029](https://github.com/ruby/rbs/pull/1029))
107
+ * Fix `OpenSSL::PKey::PKeyError: EVP_PKEY_keygen: bad ffc parameters` with OpenSSL 3 ([\#1005](https://github.com/ruby/rbs/pull/1005))
108
+
5
109
  ## 2.5.0 (2022-05-20)
6
110
 
7
111
  This is a minor release with tuple type/record type syntax updates and `rbs prototype` improvements.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rbs (2.5.0)
4
+ rbs (2.7.0.pre.1)
5
5
 
6
6
  PATH
7
7
  remote: test/assets/test-gem
@@ -30,9 +30,9 @@ GEM
30
30
  json-schema (3.0.0)
31
31
  addressable (>= 2.8)
32
32
  marcel (1.0.2)
33
- minitest (5.15.0)
33
+ minitest (5.16.3)
34
34
  parallel (1.22.1)
35
- parser (3.1.2.0)
35
+ parser (3.1.2.1)
36
36
  ast (~> 2.4.1)
37
37
  power_assert (2.0.1)
38
38
  prime (0.1.2)
@@ -47,7 +47,7 @@ GEM
47
47
  rake
48
48
  rdoc (6.4.0)
49
49
  psych (>= 4.0.0)
50
- regexp_parser (2.4.0)
50
+ regexp_parser (2.5.0)
51
51
  rexml (3.2.5)
52
52
  rspec (3.11.0)
53
53
  rspec-core (~> 3.11.0)
@@ -62,16 +62,17 @@ GEM
62
62
  diff-lcs (>= 1.2.0, < 2.0)
63
63
  rspec-support (~> 3.11.0)
64
64
  rspec-support (3.11.0)
65
- rubocop (1.29.1)
65
+ rubocop (1.35.1)
66
+ json (~> 2.3)
66
67
  parallel (~> 1.10)
67
- parser (>= 3.1.0.0)
68
+ parser (>= 3.1.2.1)
68
69
  rainbow (>= 2.2.2, < 4.0)
69
70
  regexp_parser (>= 1.8, < 3.0)
70
71
  rexml (>= 3.2.5, < 4.0)
71
- rubocop-ast (>= 1.17.0, < 2.0)
72
+ rubocop-ast (>= 1.20.1, < 2.0)
72
73
  ruby-progressbar (~> 1.7)
73
74
  unicode-display_width (>= 1.4.0, < 3.0)
74
- rubocop-ast (1.18.0)
75
+ rubocop-ast (1.21.0)
75
76
  parser (>= 3.1.1.0)
76
77
  rubocop-rubycw (0.1.6)
77
78
  rubocop (~> 1.0)
@@ -79,13 +80,13 @@ GEM
79
80
  rake (>= 0.8.1)
80
81
  ruby-progressbar (1.11.0)
81
82
  singleton (0.1.1)
82
- stackprof (0.2.19)
83
+ stackprof (0.2.21)
83
84
  stringio (3.0.2)
84
85
  strong_json (2.1.2)
85
86
  tempfile (0.1.2)
86
87
  test-unit (3.5.3)
87
88
  power_assert
88
- unicode-display_width (2.1.0)
89
+ unicode-display_width (2.2.0)
89
90
 
90
91
  PLATFORMS
91
92
  ruby
data/Rakefile CHANGED
@@ -54,50 +54,13 @@ task :test_doc do
54
54
  end
55
55
 
56
56
  task :validate => :compile do
57
+ require 'yaml'
58
+
57
59
  sh "#{ruby} #{rbs} validate --silent"
58
60
 
59
61
  FileList["stdlib/*"].each do |path|
60
62
  lib = [File.basename(path).to_s]
61
63
 
62
- if lib == ["bigdecimal-math"]
63
- lib << "bigdecimal"
64
- end
65
-
66
- if lib == ["yaml"]
67
- lib << "dbm"
68
- lib << "pstore"
69
- end
70
-
71
- if lib == ["logger"]
72
- lib << "monitor"
73
- end
74
-
75
- if lib == ["cgi"]
76
- lib << "tempfile"
77
- end
78
-
79
- if lib == ["csv"]
80
- lib << "forwardable"
81
- end
82
-
83
- if lib == ["prime"]
84
- lib << "singleton"
85
- end
86
-
87
- if lib == ["net-http"]
88
- lib << "uri"
89
- lib << "timeout"
90
- end
91
-
92
- if lib == ["resolv"]
93
- lib << "socket"
94
- lib << "timeout"
95
- end
96
-
97
- if lib == ["openssl"]
98
- lib << "socket"
99
- end
100
-
101
64
  sh "#{ruby} #{rbs} #{lib.map {|l| "-r #{l}"}.join(" ")} validate --silent"
102
65
  end
103
66
  end
data/Steepfile CHANGED
@@ -3,12 +3,17 @@ D = Steep::Diagnostic
3
3
  target :lib do
4
4
  signature "sig"
5
5
  check "lib"
6
- ignore "lib/rbs/prototype", "lib/rbs/test", "lib/rbs/test.rb"
6
+ ignore(
7
+ "lib/rbs/prototype/runtime.rb",
8
+ "lib/rbs/test",
9
+ "lib/rbs/test.rb"
10
+ )
7
11
 
8
- library "set", "pathname", "json", "logger", "monitor", "tsort", "uri"
12
+ library "set", "pathname", "json", "logger", "monitor", "tsort", "uri", 'yaml', 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest'
9
13
  signature "stdlib/strscan/0/"
10
14
  signature "stdlib/rubygems/0/"
11
15
  signature "stdlib/optparse/0/"
16
+ signature "stdlib/rdoc/0/"
12
17
 
13
18
  configure_code_diagnostics do |config|
14
19
  config[D::Ruby::MethodDefinitionMissing] = :hint
@@ -257,7 +257,7 @@ class BasicObject
257
257
  # k.instance_eval {|obj| obj == self } #=> true
258
258
  #
259
259
  def instance_eval: (String, ?String filename, ?Integer lineno) -> untyped
260
- | [U] () { (self) -> U } -> U
260
+ | [U] () { (self) [self: self] -> U } -> U
261
261
 
262
262
  # <!--
263
263
  # rdoc-file=vm_eval.c
@@ -276,7 +276,7 @@ class BasicObject
276
276
  # k = KlassWithSecret.new
277
277
  # k.instance_exec(5) {|x| @secret+x } #=> 104
278
278
  #
279
- def instance_exec: [U, V] (*V args) { (*V args) -> U } -> U
279
+ def instance_exec: [U, V] (*V args) { (*V args) [self: self] -> U } -> U
280
280
 
281
281
  # <!--
282
282
  # rdoc-file=object.c
data/core/constants.rbs CHANGED
@@ -4,7 +4,7 @@
4
4
  #
5
5
  # See ARGF (the class) for more details.
6
6
  #
7
- ::ARGF: Object
7
+ ::ARGF: RBS::Unnamed::ARGFClass
8
8
 
9
9
  # <!-- rdoc-file=ruby.c -->
10
10
  # ARGV contains the command line arguments used to run ruby.