rbs 3.1.3 → 3.2.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +0 -6
  3. data/CHANGELOG.md +68 -0
  4. data/Gemfile +0 -6
  5. data/Gemfile.lock +12 -21
  6. data/README.md +1 -1
  7. data/Rakefile +44 -0
  8. data/Steepfile +3 -3
  9. data/core/array.rbs +0 -8
  10. data/core/builtin.rbs +28 -8
  11. data/core/constants.rbs +13 -5
  12. data/core/exception.rbs +1 -1
  13. data/core/global_variables.rbs +27 -27
  14. data/core/io.rbs +163 -172
  15. data/core/kernel.rbs +7 -4
  16. data/core/module.rbs +34 -32
  17. data/core/object.rbs +2 -2
  18. data/core/string_io.rbs +9 -0
  19. data/core/thread.rbs +25 -1
  20. data/core/time.rbs +3 -3
  21. data/docs/CONTRIBUTING.md +1 -1
  22. data/docs/rbs_by_example.md +16 -35
  23. data/docs/repo.md +1 -1
  24. data/docs/sigs.md +7 -7
  25. data/docs/stdlib.md +2 -3
  26. data/docs/syntax.md +40 -40
  27. data/lib/rbs/cli.rb +15 -4
  28. data/lib/rbs/collection/installer.rb +5 -2
  29. data/lib/rbs/collection/sources/stdlib.rb +5 -1
  30. data/lib/rbs/errors.rb +8 -1
  31. data/lib/rbs/file_finder.rb +1 -1
  32. data/lib/rbs/prototype/rb.rb +64 -6
  33. data/lib/rbs/prototype/rbi.rb +2 -6
  34. data/lib/rbs/prototype/runtime.rb +29 -8
  35. data/lib/rbs/subtractor.rb +17 -0
  36. data/lib/rbs/type_name.rb +4 -4
  37. data/lib/rbs/version.rb +1 -1
  38. data/rbs.gemspec +1 -1
  39. data/schema/decls.json +1 -1
  40. data/sig/errors.rbs +54 -0
  41. data/sig/parser.rbs +2 -2
  42. data/sig/prototype/rb.rbs +9 -1
  43. data/sig/subtractor.rbs +4 -0
  44. data/stdlib/logger/0/logger.rbs +1 -1
  45. data/stdlib/observable/0/observable.rbs +219 -0
  46. data/stdlib/uri/0/common.rbs +24 -0
  47. data/stdlib/zlib/0/buf_error.rbs +79 -0
  48. data/stdlib/zlib/0/data_error.rbs +79 -0
  49. data/stdlib/zlib/0/deflate.rbs +276 -0
  50. data/stdlib/zlib/0/error.rbs +89 -0
  51. data/stdlib/zlib/0/gzip_file/crc_error.rbs +115 -0
  52. data/stdlib/zlib/0/gzip_file/error.rbs +128 -0
  53. data/stdlib/zlib/0/gzip_file/length_error.rbs +115 -0
  54. data/stdlib/zlib/0/gzip_file/no_footer.rbs +114 -0
  55. data/stdlib/zlib/0/gzip_file.rbs +228 -0
  56. data/stdlib/zlib/0/gzip_reader.rbs +362 -0
  57. data/stdlib/zlib/0/gzip_writer.rbs +237 -0
  58. data/stdlib/zlib/0/inflate.rbs +249 -0
  59. data/stdlib/zlib/0/mem_error.rbs +79 -0
  60. data/stdlib/zlib/0/need_dict.rbs +82 -0
  61. data/stdlib/zlib/0/stream_end.rbs +80 -0
  62. data/stdlib/zlib/0/stream_error.rbs +80 -0
  63. data/stdlib/zlib/0/version_error.rbs +80 -0
  64. data/stdlib/zlib/0/zstream.rbs +270 -0
  65. metadata +24 -8
  66. data/stdlib/prime/0/integer-extension.rbs +0 -41
  67. data/stdlib/prime/0/manifest.yaml +0 -2
  68. data/stdlib/prime/0/prime.rbs +0 -372
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3eecea95d764201e888ed754df209a3c948d8f703bc31453f53dcef86690ac35
4
- data.tar.gz: 43d8c75f856ca9d9790b5ef451407dc9a9ea21c8dec48708cc425633f1faaa2a
3
+ metadata.gz: 4c7d64866444cfce09f503377b3f8f13d183a37c4e90622789f15cd99d38cdae
4
+ data.tar.gz: c853c73b32d6135c4b06e6bc8593dbe4d5e44b5a4768def8b7c6de68536578a7
5
5
  SHA512:
6
- metadata.gz: 7ae9f227f01d1ffe6ec4a8653eac72a83394300e8674d70694ee31abdc2bea71371d07652c9557e5721a352ecb7b063b9373b8589ab9caa2e1513a71809fb790
7
- data.tar.gz: ae92f774b5f1f1992cb2f6f364205e10e6044e761e68fee7356f1836e352c4f5519d1039fe2ecdd14dc88e70d0f8a276da52775f171def6214f0db9e29a23541
6
+ metadata.gz: 87316a9512b8de5f073f5aab93f9ff99e5bcca464e1e418c6b12146c69fb04d4c450bb51543343527378dd6194e1b311db88d5cf24eb2e94da7ceaa4f751c1ed
7
+ data.tar.gz: 1065a9b77880aceb0b3595d0a7e4b99bf60f5061675b63686cac716cd8badf5477eecfe04f7e2d9f8cadd85eac9e1d06c6d4b7c89910414e37edca598c33f5b9
@@ -17,8 +17,6 @@ jobs:
17
17
  - 3.2-dev-focal
18
18
  - 3.1-dev-focal
19
19
  - 3.0-dev-focal
20
- - 2.7-dev-bionic
21
- - 2.6-bionic
22
20
  job:
23
21
  - test
24
22
  - stdlib_test
@@ -28,10 +26,6 @@ jobs:
28
26
  exclude:
29
27
  - container_tag: master-nightly-focal
30
28
  job: confirm_lexer
31
- - container_tag: 2.6-bionic
32
- job: stdlib_test
33
- - container_tag: 2.7-dev-bionic
34
- job: stdlib_test
35
29
  - container_tag: 3.0-dev-focal
36
30
  job: stdlib_test
37
31
  - container_tag: 3.1-dev-focal
data/CHANGELOG.md CHANGED
@@ -2,6 +2,74 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 3.2.0.pre.1 (2023-08-18)
6
+
7
+ ### Signature updates
8
+
9
+ * observable ([#1424](https://github.com/ruby/rbs/pull/1424))
10
+ * uri ([#1371](https://github.com/ruby/rbs/pull/1371))
11
+ * zlib ([#1389](https://github.com/ruby/rbs/pull/1389))
12
+ * `IO` ([#1399](https://github.com/ruby/rbs/pull/1399))
13
+ * `::DATA` ([#1395](https://github.com/ruby/rbs/pull/1395))
14
+ * `$DEBUG` ([#1427](https://github.com/ruby/rbs/pull/1427))
15
+ * `ConditionVariable#wait` ([#1397](https://github.com/ruby/rbs/pull/1397))
16
+ * `Kernel::exit!` ([#1396](https://github.com/ruby/rbs/pull/1396))
17
+ * `Kernel#exec` ([#1368](https://github.com/ruby/rbs/pull/1368))
18
+ * `Kernel#p`, `Kernel#pp` ([#1342](https://github.com/ruby/rbs/pull/1342))
19
+ * `Logger.new` ([#1423](https://github.com/ruby/rbs/pull/1423))
20
+ * `Module` ([#1321](https://github.com/ruby/rbs/pull/1321))
21
+ * `Object#define_singleton_method` ([#1431](https://github.com/ruby/rbs/pull/1431))
22
+ * `Object#enum_for` ([#1327](https://github.com/ruby/rbs/pull/1327))
23
+ * `StringIO#truncate` ([#1425](https://github.com/ruby/rbs/pull/1425))
24
+ * `Thread#raise` ([#1426](https://github.com/ruby/rbs/pull/1426))
25
+ * `Time#round`, `Time#floor`, `Time#ceil` ([#1337](https://github.com/ruby/rbs/pull/1337))
26
+ * Remove `TRUE`, `FALSE`, and `NIL` constants ([#1432](https://github.com/ruby/rbs/pull/1432))
27
+ * Updated builtin.rbs's interfaces ([#1429](https://github.com/ruby/rbs/pull/1429))
28
+ * Convert `| nil` to `?` in global_variables.rbs ([#1430](https://github.com/ruby/rbs/pull/1430))
29
+ * Remove references to the transient heap ([#1374](https://github.com/ruby/rbs/pull/1374))
30
+
31
+ ### Library changes
32
+
33
+ * subtract: Remove RBS file if the subtracted definition is empty ([#1385](https://github.com/ruby/rbs/pull/1385))
34
+ * subtract: Filter redundant access modifiers ([#1384](https://github.com/ruby/rbs/pull/1384))
35
+ * Fix module alias normalizations ([#1393](https://github.com/ruby/rbs/pull/1393))
36
+ * Reduce memory allocation on TypeName#initialize ([#1363](https://github.com/ruby/rbs/pull/1363))
37
+ * Fix a type error in FileFinder ([#1326](https://github.com/ruby/rbs/pull/1326))
38
+ * Add signatures about DetailedMessage ([#1323](https://github.com/ruby/rbs/pull/1323))
39
+ * Make TypeNameResolver more compatible with Ruby ([#1373](https://github.com/ruby/rbs/pull/1373))
40
+ * Drop support of Ruby 2.x ([#1364](https://github.com/ruby/rbs/pull/1364))
41
+ * Print detailed_message on parse command ([#1329](https://github.com/ruby/rbs/pull/1329))
42
+ * Relax rdoc version requirement ([#1333](https://github.com/ruby/rbs/pull/1333))
43
+ * Support keyword argument to #detailed_message ([#1328](https://github.com/ruby/rbs/pull/1328))
44
+
45
+ #### rbs prototype
46
+
47
+ * Avoid to generate anonymous or internal module ([#1421](https://github.com/ruby/rbs/pull/1421))
48
+ * Fix type name for prototype rbi ([#1386](https://github.com/ruby/rbs/pull/1386))
49
+ * Support type params for known signatures ([#1408](https://github.com/ruby/rbs/pull/1408))
50
+ * Super class should be absolute paths. ([#1415](https://github.com/ruby/rbs/pull/1415))
51
+ * prototype rb: Fix a crash by "include foo" ([#1419](https://github.com/ruby/rbs/pull/1419))
52
+ * Add `--outline` option to `prototype runtime` to skip generating method definition ([#1404](https://github.com/ruby/rbs/pull/1404))
53
+ * [rbs prototype] Follow up ivar/cvar feature ([#1361](https://github.com/ruby/rbs/pull/1361))
54
+ * prototype rb: Extract instance variables and class variables ([#1343](https://github.com/ruby/rbs/pull/1343))
55
+
56
+ #### rbs collection
57
+
58
+ * Print warning when specified gem not found ([#1367](https://github.com/ruby/rbs/pull/1367))
59
+ * Generate gem specific sources in lockfile ([#1402](https://github.com/ruby/rbs/pull/1402))
60
+ * Spec may be missing when `rbs_collection.yaml` declares dependency ([#1378](https://github.com/ruby/rbs/pull/1378))
61
+
62
+ ### Miscellaneous
63
+
64
+ * Remove ruby-lsp && bundle update --bundler ([#1420](https://github.com/ruby/rbs/pull/1420))
65
+ * Delete all remaining set-related descriptions. ([#1324](https://github.com/ruby/rbs/pull/1324))
66
+ * Add customized test runner to accept minitest options ([#1392](https://github.com/ruby/rbs/pull/1392))
67
+ * Specify `rbs` syntax to code snippets in Markdown files ([#1366](https://github.com/ruby/rbs/pull/1366))
68
+ * Fix typo in parser.rbs ([#1352](https://github.com/ruby/rbs/pull/1352))
69
+ * Fix broken CI ([#1353](https://github.com/ruby/rbs/pull/1353))
70
+ * Handle connection error with Resolv_test.rb ([#1356](https://github.com/ruby/rbs/pull/1356))
71
+ * Removed Prime signature and tests ([#1355](https://github.com/ruby/rbs/pull/1355))
72
+
5
73
  ## 3.1.3 (2023-07-31)
6
74
 
7
75
  ### Library changes
data/Gemfile CHANGED
@@ -17,17 +17,11 @@ gem "goodcheck"
17
17
  gem "dbm"
18
18
  gem 'digest'
19
19
  gem 'tempfile'
20
- gem "prime"
21
20
  gem "rdoc", "~> 6.4.0"
22
21
 
23
22
  # Test gems
24
23
  gem "rbs-amber", path: "test/assets/test-gem"
25
24
 
26
- group :ide, optional: true do
27
- gem "ruby-debug-ide"
28
- gem "debase", ">= 0.2.5.beta2"
29
- end
30
-
31
25
  group :minitest do
32
26
  gem "minitest"
33
27
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rbs (3.1.3)
4
+ rbs (3.2.0.pre.1)
5
5
 
6
6
  PATH
7
7
  remote: test/assets/test-gem
@@ -14,13 +14,10 @@ GEM
14
14
  addressable (2.8.4)
15
15
  public_suffix (>= 2.0.2, < 6.0)
16
16
  ast (2.4.2)
17
+ base64 (0.1.1)
17
18
  dbm (1.1.0)
18
- debase (0.2.5.beta2)
19
- debase-ruby_core_source (>= 0.10.12)
20
- debase-ruby_core_source (3.2.1)
21
19
  diff-lcs (1.5.0)
22
20
  digest (3.1.1)
23
- forwardable (1.3.2)
24
21
  goodcheck (3.1.0)
25
22
  marcel (>= 1.0, < 2.0)
26
23
  psych (>= 3.1, < 5.0)
@@ -29,28 +26,26 @@ GEM
29
26
  json (2.6.3)
30
27
  json-schema (4.0.0)
31
28
  addressable (>= 2.8)
29
+ language_server-protocol (3.17.0.3)
32
30
  marcel (1.0.2)
33
- minitest (5.18.0)
31
+ minitest (5.19.0)
34
32
  parallel (1.23.0)
35
33
  parser (3.2.2.3)
36
34
  ast (~> 2.4.1)
37
35
  racc
38
36
  power_assert (2.0.3)
39
- prime (0.1.2)
40
- forwardable
41
- singleton
42
37
  psych (4.0.6)
43
38
  stringio
44
39
  public_suffix (5.0.1)
45
40
  racc (1.7.1)
46
41
  rainbow (3.1.1)
47
42
  rake (13.0.6)
48
- rake-compiler (1.2.2)
43
+ rake-compiler (1.2.5)
49
44
  rake
50
45
  rdoc (6.4.0)
51
46
  psych (>= 4.0.0)
52
47
  regexp_parser (2.8.1)
53
- rexml (3.2.5)
48
+ rexml (3.2.6)
54
49
  rspec (3.12.0)
55
50
  rspec-core (~> 3.12.0)
56
51
  rspec-expectations (~> 3.12.0)
@@ -64,29 +59,28 @@ GEM
64
59
  diff-lcs (>= 1.2.0, < 2.0)
65
60
  rspec-support (~> 3.12.0)
66
61
  rspec-support (3.12.0)
67
- rubocop (1.52.1)
62
+ rubocop (1.56.0)
63
+ base64 (~> 0.1.1)
68
64
  json (~> 2.3)
65
+ language_server-protocol (>= 3.17.0)
69
66
  parallel (~> 1.10)
70
67
  parser (>= 3.2.2.3)
71
68
  rainbow (>= 2.2.2, < 4.0)
72
69
  regexp_parser (>= 1.8, < 3.0)
73
70
  rexml (>= 3.2.5, < 4.0)
74
- rubocop-ast (>= 1.28.0, < 2.0)
71
+ rubocop-ast (>= 1.28.1, < 2.0)
75
72
  ruby-progressbar (~> 1.7)
76
73
  unicode-display_width (>= 2.4.0, < 3.0)
77
74
  rubocop-ast (1.29.0)
78
75
  parser (>= 3.2.1.0)
79
76
  rubocop-rubycw (0.1.6)
80
77
  rubocop (~> 1.0)
81
- ruby-debug-ide (0.7.3)
82
- rake (>= 0.8.1)
83
78
  ruby-progressbar (1.13.0)
84
- singleton (0.1.1)
85
79
  stackprof (0.2.25)
86
80
  stringio (3.0.7)
87
81
  strong_json (2.1.2)
88
82
  tempfile (0.1.3)
89
- test-unit (3.5.9)
83
+ test-unit (3.6.1)
90
84
  power_assert
91
85
  unicode-display_width (2.4.2)
92
86
 
@@ -96,13 +90,11 @@ PLATFORMS
96
90
 
97
91
  DEPENDENCIES
98
92
  dbm
99
- debase (>= 0.2.5.beta2)
100
93
  digest
101
94
  goodcheck
102
95
  json
103
96
  json-schema
104
97
  minitest
105
- prime
106
98
  rake
107
99
  rake-compiler
108
100
  rbs!
@@ -111,10 +103,9 @@ DEPENDENCIES
111
103
  rspec
112
104
  rubocop
113
105
  rubocop-rubycw
114
- ruby-debug-ide
115
106
  stackprof
116
107
  tempfile
117
108
  test-unit
118
109
 
119
110
  BUNDLED WITH
120
- 2.4.7
111
+ 2.4.18
data/README.md CHANGED
@@ -7,7 +7,7 @@ It also allows declaring constants and global variables.
7
7
  The following is a small example of RBS for a chat app.
8
8
 
9
9
  <!-- run-start:a.rbs:bundle exec rbs -I a.rbs validate -->
10
- ```rb
10
+ ```rbs
11
11
  module ChatApp
12
12
  VERSION: String
13
13
 
data/Rakefile CHANGED
@@ -310,3 +310,47 @@ NOTES
310
310
  end
311
311
  end
312
312
  end
313
+
314
+
315
+ desc "Generate changelog template from GH pull requests"
316
+ task :changelog do
317
+ major, minor, patch, pre = RBS::VERSION.split(".", 4)
318
+ major = major.to_i
319
+ minor = minor.to_i
320
+ patch = patch.to_i
321
+
322
+ if patch == 0
323
+ milestone = "RBS #{major}.#{minor}"
324
+ else
325
+ milestone = "RBS #{major}.#{minor}.x"
326
+ end
327
+
328
+ puts "🔍 Finding pull requests that is associated to milestone `#{milestone}`..."
329
+
330
+ command = [
331
+ "gh",
332
+ "pr",
333
+ "list",
334
+ "--limit=10000",
335
+ "--json",
336
+ "url,title,number",
337
+ "--search" ,
338
+ "milestone:\"#{milestone}\" is:merged sort:updated-desc -label:Released"
339
+ ]
340
+
341
+ require "open3"
342
+ output, status = Open3.capture2(*command)
343
+ raise status.inspect unless status.success?
344
+
345
+ require "json"
346
+ json = JSON.parse(output, symbolize_names: true)
347
+
348
+ unless json.empty?
349
+ puts
350
+ json.each do |line|
351
+ puts "* #{line[:title]} ([##{line[:number]}](#{line[:url]}))"
352
+ end
353
+ else
354
+ puts " (🤑 There is no *unreleased* pull request associated to the milestone.)"
355
+ end
356
+ end
data/Steepfile CHANGED
@@ -9,7 +9,7 @@ target :lib do
9
9
  "lib/rbs/test.rb"
10
10
  )
11
11
 
12
- library "set", "pathname", "json", "logger", "monitor", "tsort", "uri", 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest', 'abbrev'
12
+ library "pathname", "json", "logger", "monitor", "tsort", "uri", 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest', 'abbrev'
13
13
  signature 'stdlib/yaml/0'
14
14
  signature "stdlib/strscan/0/"
15
15
  signature "stdlib/optparse/0/"
@@ -31,7 +31,7 @@ end
31
31
  # check "app/models/**/*.rb" # Glob
32
32
  # # ignore "lib/templates/*.rb"
33
33
  #
34
- # # library "pathname", "set" # Standard libraries
34
+ # # library "pathname", "uri" # Standard libraries
35
35
  # # library "strong_json" # Gems
36
36
  # end
37
37
 
@@ -40,6 +40,6 @@ end
40
40
  #
41
41
  # check "spec"
42
42
  #
43
- # # library "pathname", "set" # Standard libraries
43
+ # # library "pathname", "uri" # Standard libraries
44
44
  # # library "rspec"
45
45
  # end
data/core/array.rbs CHANGED
@@ -3920,14 +3920,6 @@ class Array[unchecked out Elem] < Object
3920
3920
  def initialize_copy: (self other_ary) -> void
3921
3921
  end
3922
3922
 
3923
- interface _ToA[T]
3924
- def to_a: () -> Array[T]
3925
- end
3926
-
3927
- interface _ToAry[T]
3928
- def to_ary: () -> ::Array[T]
3929
- end
3930
-
3931
3923
  interface _Rand
3932
3924
  def rand: (::Integer max) -> ::Integer
3933
3925
  end
data/core/builtin.rbs CHANGED
@@ -1,3 +1,15 @@
1
+ interface _ToC
2
+ def to_c: () -> Complex
3
+ end
4
+
5
+ interface _ToR
6
+ def to_r: () -> Rational
7
+ end
8
+
9
+ interface _ToF
10
+ def to_f: () -> Float
11
+ end
12
+
1
13
  interface _ToI
2
14
  def to_i: () -> Integer
3
15
  end
@@ -6,26 +18,34 @@ interface _ToInt
6
18
  def to_int: () -> Integer
7
19
  end
8
20
 
9
- interface _ToR
10
- def to_r: () -> Rational
11
- end
12
-
13
21
  interface _ToS
14
22
  def to_s: () -> String
15
23
  end
16
24
 
17
- interface _ToF
18
- def to_f: () -> Float
19
- end
20
-
21
25
  interface _ToStr
22
26
  def to_str: () -> String
23
27
  end
24
28
 
29
+ interface _ToSym
30
+ def to_sym: () -> Symbol
31
+ end
32
+
33
+ interface _ToH[K, V]
34
+ def to_h: () -> Hash[K, V]
35
+ end
36
+
25
37
  interface _ToHash[K, V]
26
38
  def to_hash: () -> Hash[K, V]
27
39
  end
28
40
 
41
+ interface _ToA[T]
42
+ def to_a: () -> Array[T]
43
+ end
44
+
45
+ interface _ToAry[T]
46
+ def to_ary: () -> Array[T]
47
+ end
48
+
29
49
  interface _ToProc
30
50
  def to_proc: () -> Proc
31
51
  end
data/core/constants.rbs CHANGED
@@ -15,9 +15,19 @@
15
15
 
16
16
  ::CROSS_COMPILING: NilClass
17
17
 
18
- ::FALSE: FalseClass
19
-
20
- ::NIL: NilClass
18
+ # <!-- rdoc-file=ruby.c -->
19
+ # DATA is a File that contains the data section of the executed file. To create
20
+ # a data section use `__END__`:
21
+ #
22
+ # $ cat t.rb
23
+ # puts DATA.gets
24
+ # __END__
25
+ # hello world!
26
+ #
27
+ # $ ruby t.rb
28
+ # hello world!
29
+ #
30
+ ::DATA: File
21
31
 
22
32
  # <!-- rdoc-file=version.c -->
23
33
  # The copyright string for ruby
@@ -84,5 +94,3 @@
84
94
  # The Binding of the top level scope
85
95
  #
86
96
  ::TOPLEVEL_BINDING: Binding
87
-
88
- ::TRUE: TrueClass
data/core/exception.rbs CHANGED
@@ -230,7 +230,7 @@ class Exception < Object
230
230
  # sequences to express essential information; the message should be readable
231
231
  # even if all escape sequences are ignored.
232
232
  #
233
- def detailed_message: () -> String
233
+ def detailed_message: (?highlight: boolish, **untyped) -> String
234
234
 
235
235
  # <!--
236
236
  # rdoc-file=error.c
@@ -1,5 +1,5 @@
1
1
  # The Exception object set by Kernel#raise.
2
- $!: Exception | nil
2
+ $!: Exception?
3
3
 
4
4
  # The array contains the module names loaded by require.
5
5
  $": Array[String]
@@ -8,22 +8,22 @@ $": Array[String]
8
8
  $$: Integer
9
9
 
10
10
  # The string matched by the last successful match.
11
- $&: String | nil
11
+ $&: String?
12
12
 
13
13
  # The string to the right of the last successful match.
14
- $': String | nil
14
+ $': String?
15
15
 
16
16
  # The same as ARGV.
17
17
  $*: Array[String]
18
18
 
19
19
  # The highest group matched by the last successful match.
20
- $+: String | nil
20
+ $+: String?
21
21
 
22
22
  # The output field separator for Kernel#print and Array#join. Non-nil $, will be deprecated.
23
- $,: String | nil
23
+ $,: String?
24
24
 
25
25
  # The input record separator, newline by default.
26
- $-0: String | nil
26
+ $-0: String?
27
27
 
28
28
  # The default separator for String#split. Non-nil $; will be deprecated.
29
29
  $-F: Regexp | String | nil
@@ -45,7 +45,7 @@ $-a: bool
45
45
  # backtrace). Setting this to a true value enables debug output as
46
46
  # if <tt>-d</tt> were given on the command line. Setting this to a false
47
47
  # value disables debug output.
48
- $-d: bool
48
+ $-d: boolish
49
49
 
50
50
  # In in-place-edit mode, this variable holds the extension, otherwise +nil+.
51
51
  $-i: String?
@@ -60,49 +60,49 @@ $-p: bool
60
60
  # Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
61
61
  # on the command line. Setting this to +nil+ disables warnings,
62
62
  # including from Kernel#warn.
63
- $-v: bool | nil
63
+ $-v: bool?
64
64
 
65
65
  # The verbose flag, which is set by the <tt>-w</tt> or <tt>-v</tt> switch.
66
66
  # Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
67
67
  # on the command line. Setting this to +nil+ disables warnings,
68
68
  # including from Kernel#warn.
69
- $-w: bool | nil
69
+ $-w: bool?
70
70
 
71
71
  # The current input line number of the last file that was read.
72
72
  $.: Integer
73
73
 
74
74
  # The input record separator, newline by default. Aliased to $-0.
75
- $/: String | nil
75
+ $/: String?
76
76
 
77
77
  # Contains the name of the script being executed. May be assignable.
78
78
  $0: String
79
79
 
80
80
  # The Nth group of the last successful match. May be > 1.
81
- $1: String | nil
81
+ $1: String?
82
82
 
83
83
  # The Nth group of the last successful match. May be > 1.
84
- $2: String | nil
84
+ $2: String?
85
85
 
86
86
  # The Nth group of the last successful match. May be > 1.
87
- $3: String | nil
87
+ $3: String?
88
88
 
89
89
  # The Nth group of the last successful match. May be > 1.
90
- $4: String | nil
90
+ $4: String?
91
91
 
92
92
  # The Nth group of the last successful match. May be > 1.
93
- $5: String | nil
93
+ $5: String?
94
94
 
95
95
  # The Nth group of the last successful match. May be > 1.
96
- $6: String | nil
96
+ $6: String?
97
97
 
98
98
  # The Nth group of the last successful match. May be > 1.
99
- $7: String | nil
99
+ $7: String?
100
100
 
101
101
  # The Nth group of the last successful match. May be > 1.
102
- $8: String | nil
102
+ $8: String?
103
103
 
104
104
  # The Nth group of the last successful match. May be > 1.
105
- $9: String | nil
105
+ $9: String?
106
106
 
107
107
  # Load path for searching Ruby scripts and extension libraries used
108
108
  # by Kernel#load and Kernel#require.
@@ -124,17 +124,17 @@ $=: bool
124
124
  $>: IO
125
125
 
126
126
  # The status of the last executed child process (thread-local).
127
- $?: Process::Status | nil
127
+ $?: Process::Status?
128
128
 
129
129
  # The same as <code>$!.backtrace</code>.
130
- $@: Array[String] | nil
130
+ $@: Array[String]?
131
131
 
132
132
  # The debug flag, which is set by the <tt>-d</tt> switch. Enabling debug
133
133
  # output prints each exception raised to $stderr (but not its
134
134
  # backtrace). Setting this to a true value enables debug output as
135
135
  # if <tt>-d</tt> were given on the command line. Setting this to a false
136
136
  # value disables debug output. Aliased to $-d.
137
- $DEBUG: bool
137
+ $DEBUG: boolish
138
138
 
139
139
  # Current input filename from ARGF. Same as ARGF.filename.
140
140
  $FILENAME: String
@@ -160,16 +160,16 @@ $PROGRAM_NAME: String
160
160
  # Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
161
161
  # on the command line. Setting this to +nil+ disables warnings,
162
162
  # including from Kernel#warn. Aliased to $-v and $-w.
163
- $VERBOSE: bool | nil
163
+ $VERBOSE: bool?
164
164
 
165
165
  # The output record separator for Kernel#print and IO#write. Default is +nil+.
166
- $\: String | nil
166
+ $\: String?
167
167
 
168
168
  # The last input line of string by gets or readline.
169
- $_: String | nil
169
+ $_: String?
170
170
 
171
171
  # The string to the left of the last successful match.
172
- $`: String | nil
172
+ $`: String?
173
173
 
174
174
  # The current standard error output.
175
175
  $stderr: IO
@@ -181,4 +181,4 @@ $stdin: IO
181
181
  $stdout: IO
182
182
 
183
183
  # The information about the last match in the current scope (thread-local and frame-local).
184
- $~: MatchData | nil
184
+ $~: MatchData?