rbs 3.2.0.pre.1 → 3.2.0
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.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +14 -0
 - data/Gemfile.lock +1 -1
 - data/Rakefile +2 -2
 - data/core/binding.rbs +7 -69
 - data/core/builtin.rbs +5 -0
 - data/core/dir.rbs +25 -25
 - data/core/errno.rbs +474 -590
 - data/core/kernel.rbs +53 -36
 - data/core/object.rbs +1 -5
 - data/core/warning.rbs +3 -1
 - data/lib/rbs/collection/config/lockfile_generator.rb +6 -2
 - data/lib/rbs/version.rb +1 -1
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3785c4b5642259ae2d30d7fc88b188283a43367053a2cf958238f800a1aef7dc
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: a15b431352b349d6d0d3eb034b0a892bc85502ddd5c1158bd41980baee01760a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: fec87dba1128481d962646c4a2cc0d8243cc18971584633c1565d70fc2d8d09c94823b60990c4c6ad9ad3167e8c60421c60bfb5f194c1bcbd5079bff7a454ee5
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f5f0ead8e4db8c05b11f9d6bbad2be09f0f3951701c58bbf5ffbe62ec2e5ce149dfe53a82b9f7f3cded1871fb80b78177e19fbce5775368f0907bf5b686c8e74
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -2,6 +2,20 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ## master
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            ## 3.2.0 (2023-08-22)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ### Signature updates
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            * `Binding` ([#1451](https://github.com/ruby/rbs/pull/1451))
         
     | 
| 
      
 10 
     | 
    
         
            +
            * `Kernel` ([#1445](https://github.com/ruby/rbs/pull/1445), [#1444](https://github.com/ruby/rbs/pull/1444), [#1443](https://github.com/ruby/rbs/pull/1443), [#1441](https://github.com/ruby/rbs/pull/1441), [#1440](https://github.com/ruby/rbs/pull/1440))
         
     | 
| 
      
 11 
     | 
    
         
            +
            * `Errno` ([#1450](https://github.com/ruby/rbs/pull/1450))
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ### Library changes
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            #### rbs collection
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            * Fix LockfileGenerator crashes if failed to get deps for locked source ([#1413](https://github.com/ruby/rbs/pull/1413))
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
       5 
19 
     | 
    
         
             
            ## 3.2.0.pre.1 (2023-08-18)
         
     | 
| 
       6 
20 
     | 
    
         | 
| 
       7 
21 
     | 
    
         
             
            ### Signature updates
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -82,7 +82,7 @@ FileList["test/stdlib/**/*_test.rb"].each do |test| 
     | 
|
| 
       82 
82 
     | 
    
         
             
              end
         
     | 
| 
       83 
83 
     | 
    
         
             
            end
         
     | 
| 
       84 
84 
     | 
    
         | 
| 
       85 
     | 
    
         
            -
            task :stdlib_test do
         
     | 
| 
      
 85 
     | 
    
         
            +
            task :stdlib_test => :compile do
         
     | 
| 
       86 
86 
     | 
    
         
             
              test_files = FileList["test/stdlib/**/*_test.rb"].reject do |path|
         
     | 
| 
       87 
87 
     | 
    
         
             
                path =~ %r{Ractor}
         
     | 
| 
       88 
88 
     | 
    
         
             
              end
         
     | 
| 
         @@ -314,7 +314,7 @@ end 
     | 
|
| 
       314 
314 
     | 
    
         | 
| 
       315 
315 
     | 
    
         
             
            desc "Generate changelog template from GH pull requests"
         
     | 
| 
       316 
316 
     | 
    
         
             
            task :changelog do
         
     | 
| 
       317 
     | 
    
         
            -
              major, minor, patch,  
     | 
| 
      
 317 
     | 
    
         
            +
              major, minor, patch, _pre = RBS::VERSION.split(".", 4)
         
     | 
| 
       318 
318 
     | 
    
         
             
              major = major.to_i
         
     | 
| 
       319 
319 
     | 
    
         
             
              minor = minor.to_i
         
     | 
| 
       320 
320 
     | 
    
         
             
              patch = patch.to_i
         
     | 
    
        data/core/binding.rbs
    CHANGED
    
    | 
         @@ -30,10 +30,10 @@ 
     | 
|
| 
       30 
30 
     | 
    
         
             
            # Binding objects have no class-specific methods.
         
     | 
| 
       31 
31 
     | 
    
         
             
            #
         
     | 
| 
       32 
32 
     | 
    
         
             
            class Binding
         
     | 
| 
       33 
     | 
    
         
            -
              public
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
33 
     | 
    
         
             
              def clone: () -> self
         
     | 
| 
       36 
34 
     | 
    
         | 
| 
      
 35 
     | 
    
         
            +
              def dup: () -> self
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
       37 
37 
     | 
    
         
             
              # <!--
         
     | 
| 
       38 
38 
     | 
    
         
             
              #   rdoc-file=proc.c
         
     | 
| 
       39 
39 
     | 
    
         
             
              #   - binding.eval(string [, filename [,lineno]])  -> obj
         
     | 
| 
         @@ -48,69 +48,7 @@ class Binding 
     | 
|
| 
       48 
48 
     | 
    
         
             
              #     b = get_binding("hello")
         
     | 
| 
       49 
49 
     | 
    
         
             
              #     b.eval("param")   #=> "hello"
         
     | 
| 
       50 
50 
     | 
    
         
             
              #
         
     | 
| 
       51 
     | 
    
         
            -
              def eval: ( 
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
              # <!--
         
     | 
| 
       54 
     | 
    
         
            -
              #   rdoc-file=lib/irb.rb
         
     | 
| 
       55 
     | 
    
         
            -
              #   - irb(show_code: true)
         
     | 
| 
       56 
     | 
    
         
            -
              # -->
         
     | 
| 
       57 
     | 
    
         
            -
              # Opens an IRB session where `binding.irb` is called which allows for
         
     | 
| 
       58 
     | 
    
         
            -
              # interactive debugging. You can call any methods or variables available in the
         
     | 
| 
       59 
     | 
    
         
            -
              # current scope, and mutate state if you need to.
         
     | 
| 
       60 
     | 
    
         
            -
              #
         
     | 
| 
       61 
     | 
    
         
            -
              # Given a Ruby file called `potato.rb` containing the following code:
         
     | 
| 
       62 
     | 
    
         
            -
              #
         
     | 
| 
       63 
     | 
    
         
            -
              #     class Potato
         
     | 
| 
       64 
     | 
    
         
            -
              #       def initialize
         
     | 
| 
       65 
     | 
    
         
            -
              #         @cooked = false
         
     | 
| 
       66 
     | 
    
         
            -
              #         binding.irb
         
     | 
| 
       67 
     | 
    
         
            -
              #         puts "Cooked potato: #{@cooked}"
         
     | 
| 
       68 
     | 
    
         
            -
              #       end
         
     | 
| 
       69 
     | 
    
         
            -
              #     end
         
     | 
| 
       70 
     | 
    
         
            -
              #
         
     | 
| 
       71 
     | 
    
         
            -
              #     Potato.new
         
     | 
| 
       72 
     | 
    
         
            -
              #
         
     | 
| 
       73 
     | 
    
         
            -
              # Running `ruby potato.rb` will open an IRB session where `binding.irb` is
         
     | 
| 
       74 
     | 
    
         
            -
              # called, and you will see the following:
         
     | 
| 
       75 
     | 
    
         
            -
              #
         
     | 
| 
       76 
     | 
    
         
            -
              #     $ ruby potato.rb
         
     | 
| 
       77 
     | 
    
         
            -
              #
         
     | 
| 
       78 
     | 
    
         
            -
              #     From: potato.rb @ line 4 :
         
     | 
| 
       79 
     | 
    
         
            -
              #
         
     | 
| 
       80 
     | 
    
         
            -
              #         1: class Potato
         
     | 
| 
       81 
     | 
    
         
            -
              #         2:   def initialize
         
     | 
| 
       82 
     | 
    
         
            -
              #         3:     @cooked = false
         
     | 
| 
       83 
     | 
    
         
            -
              #      => 4:     binding.irb
         
     | 
| 
       84 
     | 
    
         
            -
              #         5:     puts "Cooked potato: #{@cooked}"
         
     | 
| 
       85 
     | 
    
         
            -
              #         6:   end
         
     | 
| 
       86 
     | 
    
         
            -
              #         7: end
         
     | 
| 
       87 
     | 
    
         
            -
              #         8:
         
     | 
| 
       88 
     | 
    
         
            -
              #         9: Potato.new
         
     | 
| 
       89 
     | 
    
         
            -
              #
         
     | 
| 
       90 
     | 
    
         
            -
              #     irb(#<Potato:0x00007feea1916670>):001:0>
         
     | 
| 
       91 
     | 
    
         
            -
              #
         
     | 
| 
       92 
     | 
    
         
            -
              # You can type any valid Ruby code and it will be evaluated in the current
         
     | 
| 
       93 
     | 
    
         
            -
              # context. This allows you to debug without having to run your code repeatedly:
         
     | 
| 
       94 
     | 
    
         
            -
              #
         
     | 
| 
       95 
     | 
    
         
            -
              #     irb(#<Potato:0x00007feea1916670>):001:0> @cooked
         
     | 
| 
       96 
     | 
    
         
            -
              #     => false
         
     | 
| 
       97 
     | 
    
         
            -
              #     irb(#<Potato:0x00007feea1916670>):002:0> self.class
         
     | 
| 
       98 
     | 
    
         
            -
              #     => Potato
         
     | 
| 
       99 
     | 
    
         
            -
              #     irb(#<Potato:0x00007feea1916670>):003:0> caller.first
         
     | 
| 
       100 
     | 
    
         
            -
              #     => ".../2.5.1/lib/ruby/2.5.0/irb/workspace.rb:85:in `eval'"
         
     | 
| 
       101 
     | 
    
         
            -
              #     irb(#<Potato:0x00007feea1916670>):004:0> @cooked = true
         
     | 
| 
       102 
     | 
    
         
            -
              #     => true
         
     | 
| 
       103 
     | 
    
         
            -
              #
         
     | 
| 
       104 
     | 
    
         
            -
              # You can exit the IRB session with the `exit` command. Note that exiting will
         
     | 
| 
       105 
     | 
    
         
            -
              # resume execution where `binding.irb` had paused it, as you can see from the
         
     | 
| 
       106 
     | 
    
         
            -
              # output printed to standard output in this example:
         
     | 
| 
       107 
     | 
    
         
            -
              #
         
     | 
| 
       108 
     | 
    
         
            -
              #     irb(#<Potato:0x00007feea1916670>):005:0> exit
         
     | 
| 
       109 
     | 
    
         
            -
              #     Cooked potato: true
         
     | 
| 
       110 
     | 
    
         
            -
              #
         
     | 
| 
       111 
     | 
    
         
            -
              # See IRB@IRB+Usage for more information.
         
     | 
| 
       112 
     | 
    
         
            -
              #
         
     | 
| 
       113 
     | 
    
         
            -
              def irb: () -> void
         
     | 
| 
      
 51 
     | 
    
         
            +
              def eval: (string src, ?string filename, ?int lineno) -> untyped
         
     | 
| 
       114 
52 
     | 
    
         | 
| 
       115 
53 
     | 
    
         
             
              # <!--
         
     | 
| 
       116 
54 
     | 
    
         
             
              #   rdoc-file=proc.c
         
     | 
| 
         @@ -128,7 +66,7 @@ class Binding 
     | 
|
| 
       128 
66 
     | 
    
         
             
              #
         
     | 
| 
       129 
67 
     | 
    
         
             
              #     binding.eval("defined?(#{symbol}) == 'local-variable'")
         
     | 
| 
       130 
68 
     | 
    
         
             
              #
         
     | 
| 
       131 
     | 
    
         
            -
              def local_variable_defined?: ( 
     | 
| 
      
 69 
     | 
    
         
            +
              def local_variable_defined?: (Symbol | string varname) -> bool
         
     | 
| 
       132 
70 
     | 
    
         | 
| 
       133 
71 
     | 
    
         
             
              # <!--
         
     | 
| 
       134 
72 
     | 
    
         
             
              #   rdoc-file=proc.c
         
     | 
| 
         @@ -146,7 +84,7 @@ class Binding 
     | 
|
| 
       146 
84 
     | 
    
         
             
              #
         
     | 
| 
       147 
85 
     | 
    
         
             
              #     binding.eval("#{symbol}")
         
     | 
| 
       148 
86 
     | 
    
         
             
              #
         
     | 
| 
       149 
     | 
    
         
            -
              def local_variable_get: ( 
     | 
| 
      
 87 
     | 
    
         
            +
              def local_variable_get: (Symbol | string varname) -> untyped
         
     | 
| 
       150 
88 
     | 
    
         | 
| 
       151 
89 
     | 
    
         
             
              # <!--
         
     | 
| 
       152 
90 
     | 
    
         
             
              #   rdoc-file=proc.c
         
     | 
| 
         @@ -173,7 +111,7 @@ class Binding 
     | 
|
| 
       173 
111 
     | 
    
         
             
              #
         
     | 
| 
       174 
112 
     | 
    
         
             
              # if `obj` can be dumped in Ruby code.
         
     | 
| 
       175 
113 
     | 
    
         
             
              #
         
     | 
| 
       176 
     | 
    
         
            -
              def local_variable_set: [U] ( 
     | 
| 
      
 114 
     | 
    
         
            +
              def local_variable_set: [U] (Symbol | string varname, U obj) -> U
         
     | 
| 
       177 
115 
     | 
    
         | 
| 
       178 
116 
     | 
    
         
             
              # <!--
         
     | 
| 
       179 
117 
     | 
    
         
             
              #   rdoc-file=proc.c
         
     | 
| 
         @@ -208,5 +146,5 @@ class Binding 
     | 
|
| 
       208 
146 
     | 
    
         
             
              # -->
         
     | 
| 
       209 
147 
     | 
    
         
             
              # Returns the Ruby source filename and line number of the binding object.
         
     | 
| 
       210 
148 
     | 
    
         
             
              #
         
     | 
| 
       211 
     | 
    
         
            -
              def source_location: () -> [ 
     | 
| 
      
 149 
     | 
    
         
            +
              def source_location: () -> [String, Integer]
         
     | 
| 
       212 
150 
     | 
    
         
             
            end
         
     | 
    
        data/core/builtin.rbs
    CHANGED
    
    | 
         @@ -54,6 +54,10 @@ interface _ToPath 
     | 
|
| 
       54 
54 
     | 
    
         
             
              def to_path: () -> String
         
     | 
| 
       55 
55 
     | 
    
         
             
            end
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
      
 57 
     | 
    
         
            +
            interface _Inspect
         
     | 
| 
      
 58 
     | 
    
         
            +
              def inspect: () -> String
         
     | 
| 
      
 59 
     | 
    
         
            +
            end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       57 
61 
     | 
    
         
             
            interface _Each[out A]
         
     | 
| 
       58 
62 
     | 
    
         
             
              def each: () { (A) -> void } -> void
         
     | 
| 
       59 
63 
     | 
    
         
             
            end
         
     | 
| 
         @@ -95,6 +99,7 @@ type real = Integer | Float | Rational 
     | 
|
| 
       95 
99 
     | 
    
         | 
| 
       96 
100 
     | 
    
         
             
            type string = String | _ToStr
         
     | 
| 
       97 
101 
     | 
    
         
             
            type encoding = Encoding | string
         
     | 
| 
      
 102 
     | 
    
         
            +
            type path = string | _ToPath
         
     | 
| 
       98 
103 
     | 
    
         | 
| 
       99 
104 
     | 
    
         
             
            type io = IO | _ToIO
         
     | 
| 
       100 
105 
     | 
    
         | 
    
        data/core/dir.rbs
    CHANGED
    
    | 
         @@ -102,7 +102,7 @@ class Dir 
     | 
|
| 
       102 
102 
     | 
    
         
             
              # The optional *encoding* keyword argument specifies the encoding of the
         
     | 
| 
       103 
103 
     | 
    
         
             
              # directory. If not specified, the filesystem encoding is used.
         
     | 
| 
       104 
104 
     | 
    
         
             
              #
         
     | 
| 
       105 
     | 
    
         
            -
              def initialize: ( 
     | 
| 
      
 105 
     | 
    
         
            +
              def initialize: (path dir, ?encoding: encoding?) -> self
         
     | 
| 
       106 
106 
     | 
    
         | 
| 
       107 
107 
     | 
    
         
             
              # <!--
         
     | 
| 
       108 
108 
     | 
    
         
             
              #   rdoc-file=dir.rb
         
     | 
| 
         @@ -110,7 +110,7 @@ class Dir 
     | 
|
| 
       110 
110 
     | 
    
         
             
              # -->
         
     | 
| 
       111 
111 
     | 
    
         
             
              # Equivalent to calling `Dir.glob([`*string,...*`], 0)`.
         
     | 
| 
       112 
112 
     | 
    
         
             
              #
         
     | 
| 
       113 
     | 
    
         
            -
              def self.[]: (* 
     | 
| 
      
 113 
     | 
    
         
            +
              def self.[]: (*path patterns, ?base: path?, ?sort: bool) -> Array[String]
         
     | 
| 
       114 
114 
     | 
    
         | 
| 
       115 
115 
     | 
    
         
             
              # <!--
         
     | 
| 
       116 
116 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -149,8 +149,8 @@ class Dir 
     | 
|
| 
       149 
149 
     | 
    
         
             
              #     /tmp
         
     | 
| 
       150 
150 
     | 
    
         
             
              #     /var/spool/mail
         
     | 
| 
       151 
151 
     | 
    
         
             
              #
         
     | 
| 
       152 
     | 
    
         
            -
              def self.chdir: (? 
     | 
| 
       153 
     | 
    
         
            -
                            | [U] (? 
     | 
| 
      
 152 
     | 
    
         
            +
              def self.chdir: (?path dir) -> 0
         
     | 
| 
      
 153 
     | 
    
         
            +
                            | [U] (?path dir) { (String dir) -> U } -> U
         
     | 
| 
       154 
154 
     | 
    
         | 
| 
       155 
155 
     | 
    
         
             
              # <!--
         
     | 
| 
       156 
156 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -166,7 +166,7 @@ class Dir 
     | 
|
| 
       166 
166 
     | 
    
         
             
              #
         
     | 
| 
       167 
167 
     | 
    
         
             
              #     Dir.children("testdir")   #=> ["config.h", "main.rb"]
         
     | 
| 
       168 
168 
     | 
    
         
             
              #
         
     | 
| 
       169 
     | 
    
         
            -
              def self.children: ( 
     | 
| 
      
 169 
     | 
    
         
            +
              def self.children: (path dirname, ?encoding: encoding?) -> Array[String]
         
     | 
| 
       170 
170 
     | 
    
         | 
| 
       171 
171 
     | 
    
         
             
              # <!--
         
     | 
| 
       172 
172 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -176,7 +176,7 @@ class Dir 
     | 
|
| 
       176 
176 
     | 
    
         
             
              # may make this call. Not available on all platforms. On Unix systems, see
         
     | 
| 
       177 
177 
     | 
    
         
             
              # `chroot(2)` for more information.
         
     | 
| 
       178 
178 
     | 
    
         
             
              #
         
     | 
| 
       179 
     | 
    
         
            -
              def self.chroot: ( 
     | 
| 
      
 179 
     | 
    
         
            +
              def self.chroot: (path root) -> 0
         
     | 
| 
       180 
180 
     | 
    
         | 
| 
       181 
181 
     | 
    
         
             
              # <!--
         
     | 
| 
       182 
182 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -187,7 +187,7 @@ class Dir 
     | 
|
| 
       187 
187 
     | 
    
         
             
              # Deletes the named directory. Raises a subclass of SystemCallError if the
         
     | 
| 
       188 
188 
     | 
    
         
             
              # directory isn't empty.
         
     | 
| 
       189 
189 
     | 
    
         
             
              #
         
     | 
| 
       190 
     | 
    
         
            -
              def self.delete: ( 
     | 
| 
      
 190 
     | 
    
         
            +
              def self.delete: (path dirname) -> 0
         
     | 
| 
       191 
191 
     | 
    
         | 
| 
       192 
192 
     | 
    
         
             
              # <!--
         
     | 
| 
       193 
193 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -208,8 +208,8 @@ class Dir 
     | 
|
| 
       208 
208 
     | 
    
         
             
              #     Got config.h
         
     | 
| 
       209 
209 
     | 
    
         
             
              #     Got main.rb
         
     | 
| 
       210 
210 
     | 
    
         
             
              #
         
     | 
| 
       211 
     | 
    
         
            -
              def self.each_child: ( 
     | 
| 
       212 
     | 
    
         
            -
                                 | ( 
     | 
| 
      
 211 
     | 
    
         
            +
              def self.each_child: (path dirname, ?encoding: encoding?) -> Enumerator[String, nil]
         
     | 
| 
      
 212 
     | 
    
         
            +
                                 | (path dirname, ?encoding: encoding?) { (String filename) -> void } -> nil
         
     | 
| 
       213 
213 
     | 
    
         | 
| 
       214 
214 
     | 
    
         
             
              # <!--
         
     | 
| 
       215 
215 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -218,7 +218,7 @@ class Dir 
     | 
|
| 
       218 
218 
     | 
    
         
             
              # Returns `true` if the named file is an empty directory, `false` if it is not a
         
     | 
| 
       219 
219 
     | 
    
         
             
              # directory or non-empty.
         
     | 
| 
       220 
220 
     | 
    
         
             
              #
         
     | 
| 
       221 
     | 
    
         
            -
              def self.empty?: ( 
     | 
| 
      
 221 
     | 
    
         
            +
              def self.empty?: (path path_name) -> bool
         
     | 
| 
       222 
222 
     | 
    
         | 
| 
       223 
223 
     | 
    
         
             
              # <!--
         
     | 
| 
       224 
224 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -233,7 +233,7 @@ class Dir 
     | 
|
| 
       233 
233 
     | 
    
         
             
              #
         
     | 
| 
       234 
234 
     | 
    
         
             
              #     Dir.entries("testdir")   #=> [".", "..", "config.h", "main.rb"]
         
     | 
| 
       235 
235 
     | 
    
         
             
              #
         
     | 
| 
       236 
     | 
    
         
            -
              def self.entries: ( 
     | 
| 
      
 236 
     | 
    
         
            +
              def self.entries: (path dirname, ?encoding: encoding?) -> Array[String]
         
     | 
| 
       237 
237 
     | 
    
         | 
| 
       238 
238 
     | 
    
         
             
              # <!--
         
     | 
| 
       239 
239 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -241,7 +241,7 @@ class Dir 
     | 
|
| 
       241 
241 
     | 
    
         
             
              # -->
         
     | 
| 
       242 
242 
     | 
    
         
             
              # Returns `true` if the named file is a directory, `false` otherwise.
         
     | 
| 
       243 
243 
     | 
    
         
             
              #
         
     | 
| 
       244 
     | 
    
         
            -
              def self.exist?: ( 
     | 
| 
      
 244 
     | 
    
         
            +
              def self.exist?: (path | _ToIO file_name) -> bool
         
     | 
| 
       245 
245 
     | 
    
         | 
| 
       246 
246 
     | 
    
         
             
              # <!--
         
     | 
| 
       247 
247 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -371,8 +371,8 @@ class Dir 
     | 
|
| 
       371 
371 
     | 
    
         
             
              #
         
     | 
| 
       372 
372 
     | 
    
         
             
              #     Dir.glob("**/lib/*.rb")             #=> ["lib/song.rb"]
         
     | 
| 
       373 
373 
     | 
    
         
             
              #
         
     | 
| 
       374 
     | 
    
         
            -
              def self.glob: ( 
     | 
| 
       375 
     | 
    
         
            -
                           | ( 
     | 
| 
      
 374 
     | 
    
         
            +
              def self.glob: (_ToAry[path] | path pattern, ?int flags, ?base: path?, ?sort: bool) -> Array[String]
         
     | 
| 
      
 375 
     | 
    
         
            +
                           | (_ToAry[path] | path pattern, ?int flags, ?base: path?, ?sort: bool) { (String pathname) -> void } -> nil
         
     | 
| 
       376 
376 
     | 
    
         | 
| 
       377 
377 
     | 
    
         
             
              # <!--
         
     | 
| 
       378 
378 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -381,7 +381,7 @@ class Dir 
     | 
|
| 
       381 
381 
     | 
    
         
             
              # -->
         
     | 
| 
       382 
382 
     | 
    
         
             
              # Returns the home directory of the current user or the named user if given.
         
     | 
| 
       383 
383 
     | 
    
         
             
              #
         
     | 
| 
       384 
     | 
    
         
            -
              def self.home: (?string user) -> String
         
     | 
| 
      
 384 
     | 
    
         
            +
              def self.home: (?string? user) -> String
         
     | 
| 
       385 
385 
     | 
    
         | 
| 
       386 
386 
     | 
    
         
             
              # <!--
         
     | 
| 
       387 
387 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -395,7 +395,7 @@ class Dir 
     | 
|
| 
       395 
395 
     | 
    
         
             
              #
         
     | 
| 
       396 
396 
     | 
    
         
             
              #     Dir.mkdir(File.join(Dir.home, ".foo"), 0700) #=> 0
         
     | 
| 
       397 
397 
     | 
    
         
             
              #
         
     | 
| 
       398 
     | 
    
         
            -
              def self.mkdir: ( 
     | 
| 
      
 398 
     | 
    
         
            +
              def self.mkdir: (path dirname, ?int permissions) -> 0
         
     | 
| 
       399 
399 
     | 
    
         | 
| 
       400 
400 
     | 
    
         
             
              # <!--
         
     | 
| 
       401 
401 
     | 
    
         
             
              #   rdoc-file=dir.rb
         
     | 
| 
         @@ -411,8 +411,8 @@ class Dir 
     | 
|
| 
       411 
411 
     | 
    
         
             
              # passed *aDir* as a parameter. The directory is closed at the end of the block,
         
     | 
| 
       412 
412 
     | 
    
         
             
              # and Dir::open returns the value of the block.
         
     | 
| 
       413 
413 
     | 
    
         
             
              #
         
     | 
| 
       414 
     | 
    
         
            -
              def self.open: ( 
     | 
| 
       415 
     | 
    
         
            -
                           | [U] ( 
     | 
| 
      
 414 
     | 
    
         
            +
              def self.open: (path dirname, ?encoding: encoding?) -> instance
         
     | 
| 
      
 415 
     | 
    
         
            +
                           | [U] (path dirname, ?encoding: encoding?) { (instance) -> U } -> U
         
     | 
| 
       416 
416 
     | 
    
         | 
| 
       417 
417 
     | 
    
         
             
              # <!--
         
     | 
| 
       418 
418 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -425,7 +425,7 @@ class Dir 
     | 
|
| 
       425 
425 
     | 
    
         
             
              #     Dir.getwd           #=> "/tmp"
         
     | 
| 
       426 
426 
     | 
    
         
             
              #     Dir.pwd             #=> "/tmp"
         
     | 
| 
       427 
427 
     | 
    
         
             
              #
         
     | 
| 
       428 
     | 
    
         
            -
               
     | 
| 
      
 428 
     | 
    
         
            +
              alias self.pwd self.getwd
         
     | 
| 
       429 
429 
     | 
    
         | 
| 
       430 
430 
     | 
    
         
             
              # <!--
         
     | 
| 
       431 
431 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -473,7 +473,7 @@ class Dir 
     | 
|
| 
       473 
473 
     | 
    
         
             
              #     d = Dir.new("testdir")
         
     | 
| 
       474 
474 
     | 
    
         
             
              #     d.close   #=> nil
         
     | 
| 
       475 
475 
     | 
    
         
             
              #
         
     | 
| 
       476 
     | 
    
         
            -
              def close: () ->  
     | 
| 
      
 476 
     | 
    
         
            +
              def close: () -> nil
         
     | 
| 
       477 
477 
     | 
    
         | 
| 
       478 
478 
     | 
    
         
             
              # <!--
         
     | 
| 
       479 
479 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -496,7 +496,7 @@ class Dir 
     | 
|
| 
       496 
496 
     | 
    
         
             
              #     Got main.rb
         
     | 
| 
       497 
497 
     | 
    
         
             
              #
         
     | 
| 
       498 
498 
     | 
    
         
             
              def each: () { (String) -> void } -> self
         
     | 
| 
       499 
     | 
    
         
            -
                      | () ->  
     | 
| 
      
 499 
     | 
    
         
            +
                      | () -> Enumerator[String, self]
         
     | 
| 
       500 
500 
     | 
    
         | 
| 
       501 
501 
     | 
    
         
             
              # <!--
         
     | 
| 
       502 
502 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -517,7 +517,7 @@ class Dir 
     | 
|
| 
       517 
517 
     | 
    
         
             
              #     Got main.rb
         
     | 
| 
       518 
518 
     | 
    
         
             
              #
         
     | 
| 
       519 
519 
     | 
    
         
             
              def each_child: () { (String) -> void } -> self
         
     | 
| 
       520 
     | 
    
         
            -
                            | () ->  
     | 
| 
      
 520 
     | 
    
         
            +
                            | () -> Enumerator[String, self]
         
     | 
| 
       521 
521 
     | 
    
         | 
| 
       522 
522 
     | 
    
         
             
              # <!--
         
     | 
| 
       523 
523 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -577,7 +577,7 @@ class Dir 
     | 
|
| 
       577 
577 
     | 
    
         
             
              #     d.pos = i                #=> 12
         
     | 
| 
       578 
578 
     | 
    
         
             
              #     d.read                   #=> ".."
         
     | 
| 
       579 
579 
     | 
    
         
             
              #
         
     | 
| 
       580 
     | 
    
         
            -
              def pos=: ( 
     | 
| 
      
 580 
     | 
    
         
            +
              def pos=: [U < _ToInt] (U pos) -> U
         
     | 
| 
       581 
581 
     | 
    
         | 
| 
       582 
582 
     | 
    
         
             
              # <!--
         
     | 
| 
       583 
583 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -620,7 +620,7 @@ class Dir 
     | 
|
| 
       620 
620 
     | 
    
         
             
              #     d.seek(i)                #=> #<Dir:0x401b3c40>
         
     | 
| 
       621 
621 
     | 
    
         
             
              #     d.read                   #=> ".."
         
     | 
| 
       622 
622 
     | 
    
         
             
              #
         
     | 
| 
       623 
     | 
    
         
            -
              def seek: ( 
     | 
| 
      
 623 
     | 
    
         
            +
              def seek: (int pos) -> self
         
     | 
| 
       624 
624 
     | 
    
         | 
| 
       625 
625 
     | 
    
         
             
              # <!--
         
     | 
| 
       626 
626 
     | 
    
         
             
              #   rdoc-file=dir.c
         
     | 
| 
         @@ -634,7 +634,7 @@ class Dir 
     | 
|
| 
       634 
634 
     | 
    
         
             
              #     d.read   #=> "."
         
     | 
| 
       635 
635 
     | 
    
         
             
              #     d.tell   #=> 12
         
     | 
| 
       636 
636 
     | 
    
         
             
              #
         
     | 
| 
       637 
     | 
    
         
            -
               
     | 
| 
      
 637 
     | 
    
         
            +
              alias tell pos
         
     | 
| 
       638 
638 
     | 
    
         | 
| 
       639 
639 
     | 
    
         
             
              # <!-- rdoc-file=dir.c -->
         
     | 
| 
       640 
640 
     | 
    
         
             
              # Returns the path parameter passed to *dir*'s constructor.
         
     |