rbs 0.3.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +7 -1
- data/.gitignore +1 -1
- data/CHANGELOG.md +39 -0
- data/COPYING +1 -1
- data/Gemfile +16 -2
- data/README.md +87 -48
- data/Rakefile +54 -22
- data/bin/rbs-prof +9 -0
- data/bin/run_in_md.rb +49 -0
- data/bin/test_runner.rb +0 -2
- data/docs/sigs.md +6 -6
- data/docs/stdlib.md +3 -5
- data/docs/syntax.md +6 -3
- data/goodcheck.yml +65 -0
- data/lib/rbs.rb +3 -0
- data/lib/rbs/ast/declarations.rb +115 -14
- data/lib/rbs/ast/members.rb +41 -17
- data/lib/rbs/cli.rb +315 -122
- data/lib/rbs/constant.rb +4 -4
- data/lib/rbs/constant_table.rb +51 -45
- data/lib/rbs/definition.rb +175 -59
- data/lib/rbs/definition_builder.rb +802 -604
- data/lib/rbs/environment.rb +352 -210
- data/lib/rbs/environment_walker.rb +14 -23
- data/lib/rbs/errors.rb +184 -3
- data/lib/rbs/factory.rb +14 -0
- data/lib/rbs/parser.y +95 -27
- data/lib/rbs/prototype/rb.rb +119 -117
- data/lib/rbs/prototype/rbi.rb +5 -3
- data/lib/rbs/prototype/runtime.rb +34 -7
- data/lib/rbs/substitution.rb +12 -1
- data/lib/rbs/test.rb +82 -3
- data/lib/rbs/test/errors.rb +5 -1
- data/lib/rbs/test/hook.rb +133 -259
- data/lib/rbs/test/observer.rb +17 -0
- data/lib/rbs/test/setup.rb +35 -19
- data/lib/rbs/test/setup_helper.rb +29 -0
- data/lib/rbs/test/spy.rb +0 -321
- data/lib/rbs/test/tester.rb +116 -0
- data/lib/rbs/test/type_check.rb +43 -7
- data/lib/rbs/type_name_resolver.rb +58 -0
- data/lib/rbs/types.rb +94 -2
- data/lib/rbs/validator.rb +51 -0
- data/lib/rbs/variance_calculator.rb +12 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +127 -91
- data/rbs.gemspec +0 -9
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +353 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +248 -0
- data/schema/methodType.json +44 -0
- data/schema/types.json +299 -0
- data/stdlib/benchmark/benchmark.rbs +151 -151
- data/stdlib/builtin/encoding.rbs +2 -0
- data/stdlib/builtin/enumerable.rbs +4 -4
- data/stdlib/builtin/enumerator.rbs +3 -1
- data/stdlib/builtin/fiber.rbs +5 -1
- data/stdlib/builtin/file.rbs +0 -3
- data/stdlib/builtin/io.rbs +4 -4
- data/stdlib/builtin/proc.rbs +1 -2
- data/stdlib/builtin/symbol.rbs +1 -1
- data/stdlib/builtin/thread.rbs +2 -2
- data/stdlib/csv/csv.rbs +4 -6
- data/stdlib/fiber/fiber.rbs +117 -0
- data/stdlib/json/json.rbs +1 -1
- data/stdlib/logger/formatter.rbs +23 -0
- data/stdlib/logger/log_device.rbs +39 -0
- data/stdlib/logger/logger.rbs +507 -0
- data/stdlib/logger/period.rbs +7 -0
- data/stdlib/logger/severity.rbs +8 -0
- data/stdlib/mutex_m/mutex_m.rbs +77 -0
- data/stdlib/pathname/pathname.rbs +6 -6
- data/stdlib/prime/integer-extension.rbs +1 -1
- data/stdlib/prime/prime.rbs +44 -44
- data/stdlib/pty/pty.rbs +159 -0
- data/stdlib/tmpdir/tmpdir.rbs +1 -1
- metadata +28 -116
- data/lib/rbs/test/test_helper.rb +0 -183
@@ -139,7 +139,7 @@ module Benchmark
|
|
139
139
|
# >total: 2.930000 0.000000 2.930000 ( 2.932889)
|
140
140
|
# >avg: 0.976667 0.000000 0.976667 ( 0.977630)
|
141
141
|
#
|
142
|
-
def self?.benchmark: (String caption, ?Integer? label_width, ?String? format, *String labels) { (Report report) -> (Array[Tms] | void) } ->
|
142
|
+
def self?.benchmark: (String caption, ?Integer? label_width, ?String? format, *String labels) { (Report report) -> (Array[Tms] | void) } -> Array[Tms]
|
143
143
|
|
144
144
|
# A simple interface to the #benchmark method, #bm generates sequential reports
|
145
145
|
# with labels. `label_width` and `labels` parameters have the same meaning as
|
@@ -161,7 +161,7 @@ module Benchmark
|
|
161
161
|
# times: 0.960000 0.000000 0.960000 ( 0.960423)
|
162
162
|
# upto: 0.950000 0.000000 0.950000 ( 0.954864)
|
163
163
|
#
|
164
|
-
def self?.bm: (?Integer label_width, *String labels) { (Report report) -> void } ->
|
164
|
+
def self?.bm: (?Integer label_width, *String labels) { (Report report) -> void } -> Array[Tms]
|
165
165
|
|
166
166
|
# Sometimes benchmark results are skewed because code executed earlier
|
167
167
|
# encounters different garbage collection overheads than that run later. #bmbm
|
@@ -198,7 +198,7 @@ module Benchmark
|
|
198
198
|
# #bmbm yields a Benchmark::Job object and returns an array of Benchmark::Tms
|
199
199
|
# objects.
|
200
200
|
#
|
201
|
-
def self?.bmbm: (?Integer width) { (Job job) -> void } ->
|
201
|
+
def self?.bmbm: (?Integer width) { (Job job) -> void } -> Array[Tms]
|
202
202
|
|
203
203
|
# Returns the time used to execute the given block as a Benchmark::Tms object.
|
204
204
|
# Takes `label` option.
|
@@ -216,157 +216,157 @@ module Benchmark
|
|
216
216
|
#
|
217
217
|
# 0.220000 0.000000 0.220000 ( 0.227313)
|
218
218
|
#
|
219
|
-
def self?.measure: (?String label) { () -> void } ->
|
219
|
+
def self?.measure: (?String label) { () -> void } -> Tms
|
220
220
|
|
221
221
|
# Returns the elapsed real time used to execute the given block.
|
222
222
|
#
|
223
223
|
def self?.realtime: () { () -> void } -> Float
|
224
|
-
end
|
225
|
-
|
226
|
-
Benchmark::BENCHMARK_VERSION: String
|
227
|
-
|
228
|
-
# The default caption string (heading above the output times).
|
229
|
-
#
|
230
|
-
Benchmark::CAPTION: String
|
231
|
-
|
232
|
-
# The default format string used to display times. See also
|
233
|
-
# Benchmark::Tms#format.
|
234
|
-
#
|
235
|
-
Benchmark::FORMAT: String
|
236
|
-
|
237
|
-
class Benchmark::Job
|
238
|
-
# Prints the `label` and measured time for the block,
|
239
|
-
# formatted by `format`. See Tms#format for the
|
240
|
-
# formatting rules.
|
241
|
-
def item: (?String label) { () -> void } -> self
|
242
|
-
|
243
|
-
# An array of 2-element arrays, consisting of label and block pairs.
|
244
|
-
def list: () -> ::Array[untyped]
|
245
|
-
|
246
|
-
alias report item
|
247
|
-
|
248
|
-
# Length of the widest label in the #list.
|
249
|
-
def width: () -> Integer
|
250
|
-
end
|
251
|
-
|
252
|
-
class Benchmark::Report
|
253
|
-
# Prints the `label` and measured time for the block,
|
254
|
-
# formatted by `format`. See Tms#format for the
|
255
|
-
# formatting rules.
|
256
|
-
def item: (?String label, *untyped format) { () -> void } -> Tms
|
257
|
-
|
258
|
-
# An array of Benchmark::Tms objects representing each item.
|
259
|
-
def list: () -> ::Array[Benchmark::Tms]
|
260
|
-
|
261
|
-
alias report item
|
262
|
-
end
|
263
|
-
|
264
|
-
# A data object, representing the times associated with a benchmark measurement.
|
265
|
-
#
|
266
|
-
class Benchmark::Tms
|
267
|
-
# Returns a new Tms object obtained by memberwise multiplication of the
|
268
|
-
# individual times for this Tms object by `x`.
|
269
|
-
#
|
270
|
-
def *: (untyped x) -> untyped
|
271
|
-
|
272
|
-
# Returns a new Tms object obtained by memberwise summation of the individual
|
273
|
-
# times for this Tms object with those of the `other` Tms object. This method
|
274
|
-
# and #/() are useful for taking statistics.
|
275
|
-
#
|
276
|
-
def +: (untyped other) -> untyped
|
277
|
-
|
278
|
-
# Returns a new Tms object obtained by memberwise subtraction of the individual
|
279
|
-
# times for the `other` Tms object from those of this Tms object.
|
280
|
-
#
|
281
|
-
def -: (untyped other) -> untyped
|
282
|
-
|
283
|
-
# Returns a new Tms object obtained by memberwise division of the individual
|
284
|
-
# times for this Tms object by `x`. This method and #+() are useful for taking
|
285
|
-
# statistics.
|
286
|
-
#
|
287
|
-
def /: (untyped x) -> untyped
|
288
|
-
|
289
|
-
# Returns a new Tms object whose times are the sum of the times for this Tms
|
290
|
-
# object, plus the time required to execute the code block (`blk`).
|
291
|
-
#
|
292
|
-
def add: () { (*untyped) -> untyped } -> untyped
|
293
|
-
|
294
|
-
# An in-place version of #add. Changes the times of this Tms object by making it
|
295
|
-
# the sum of the times for this Tms object, plus the time required to execute
|
296
|
-
# the code block (`blk`).
|
297
|
-
#
|
298
|
-
def add!: () { (*untyped) -> untyped } -> untyped
|
299
|
-
|
300
|
-
# System CPU time of children
|
301
|
-
#
|
302
|
-
def cstime: () -> Float
|
303
|
-
|
304
|
-
# User CPU time of children
|
305
|
-
#
|
306
|
-
def cutime: () -> Float
|
307
|
-
|
308
|
-
# Returns the contents of this Tms object as a formatted string, according to a
|
309
|
-
# `format` string like that passed to Kernel.format. In addition, #format
|
310
|
-
# accepts the following extensions:
|
311
|
-
#
|
312
|
-
# `%u`
|
313
|
-
# : Replaced by the user CPU time, as reported by Tms#utime.
|
314
|
-
# `%y`
|
315
|
-
# : Replaced by the system CPU time, as reported by #stime (Mnemonic: y of
|
316
|
-
# "s*y*stem")
|
317
|
-
# `%U`
|
318
|
-
# : Replaced by the children's user CPU time, as reported by Tms#cutime
|
319
|
-
# `%Y`
|
320
|
-
# : Replaced by the children's system CPU time, as reported by Tms#cstime
|
321
|
-
# `%t`
|
322
|
-
# : Replaced by the total CPU time, as reported by Tms#total
|
323
|
-
# `%r`
|
324
|
-
# : Replaced by the elapsed real time, as reported by Tms#real
|
325
|
-
# `%n`
|
326
|
-
# : Replaced by the label string, as reported by Tms#label (Mnemonic: n of
|
327
|
-
# "*n*ame")
|
328
|
-
#
|
329
|
-
#
|
330
|
-
# If `format` is not given, FORMAT is used as default value, detailing the user,
|
331
|
-
# system and real elapsed time.
|
332
|
-
#
|
333
|
-
def format: (?String format, *untyped args) -> String
|
334
|
-
|
335
|
-
# Label
|
336
|
-
#
|
337
|
-
def label: () -> String
|
338
|
-
|
339
|
-
# Elapsed real time
|
340
|
-
#
|
341
|
-
def real: () -> Float
|
342
224
|
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
#
|
350
|
-
#
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
225
|
+
BENCHMARK_VERSION: String
|
226
|
+
|
227
|
+
# The default caption string (heading above the output times).
|
228
|
+
#
|
229
|
+
CAPTION: String
|
230
|
+
|
231
|
+
# The default format string used to display times. See also
|
232
|
+
# Benchmark::Tms#format.
|
233
|
+
#
|
234
|
+
FORMAT: String
|
235
|
+
|
236
|
+
class Job
|
237
|
+
# Prints the `label` and measured time for the block,
|
238
|
+
# formatted by `format`. See Tms#format for the
|
239
|
+
# formatting rules.
|
240
|
+
def item: (?String label) { () -> void } -> self
|
241
|
+
|
242
|
+
# An array of 2-element arrays, consisting of label and block pairs.
|
243
|
+
def list: () -> Array[untyped]
|
244
|
+
|
245
|
+
alias report item
|
246
|
+
|
247
|
+
# Length of the widest label in the #list.
|
248
|
+
def width: () -> Integer
|
249
|
+
end
|
250
|
+
|
251
|
+
class Report
|
252
|
+
# Prints the `label` and measured time for the block,
|
253
|
+
# formatted by `format`. See Tms#format for the
|
254
|
+
# formatting rules.
|
255
|
+
def item: (?String label, *untyped format) { () -> void } -> Tms
|
256
|
+
|
257
|
+
# An array of Benchmark::Tms objects representing each item.
|
258
|
+
def list: () -> Array[Tms]
|
259
|
+
|
260
|
+
alias report item
|
261
|
+
end
|
262
|
+
|
263
|
+
# A data object, representing the times associated with a benchmark measurement.
|
264
|
+
#
|
265
|
+
class Tms
|
266
|
+
# Returns a new Tms object obtained by memberwise multiplication of the
|
267
|
+
# individual times for this Tms object by `x`.
|
268
|
+
#
|
269
|
+
def *: (untyped x) -> untyped
|
270
|
+
|
271
|
+
# Returns a new Tms object obtained by memberwise summation of the individual
|
272
|
+
# times for this Tms object with those of the `other` Tms object. This method
|
273
|
+
# and #/() are useful for taking statistics.
|
274
|
+
#
|
275
|
+
def +: (untyped other) -> untyped
|
276
|
+
|
277
|
+
# Returns a new Tms object obtained by memberwise subtraction of the individual
|
278
|
+
# times for the `other` Tms object from those of this Tms object.
|
279
|
+
#
|
280
|
+
def -: (untyped other) -> untyped
|
281
|
+
|
282
|
+
# Returns a new Tms object obtained by memberwise division of the individual
|
283
|
+
# times for this Tms object by `x`. This method and #+() are useful for taking
|
284
|
+
# statistics.
|
285
|
+
#
|
286
|
+
def /: (untyped x) -> untyped
|
287
|
+
|
288
|
+
# Returns a new Tms object whose times are the sum of the times for this Tms
|
289
|
+
# object, plus the time required to execute the code block (`blk`).
|
290
|
+
#
|
291
|
+
def add: () { (*untyped) -> untyped } -> untyped
|
292
|
+
|
293
|
+
# An in-place version of #add. Changes the times of this Tms object by making it
|
294
|
+
# the sum of the times for this Tms object, plus the time required to execute
|
295
|
+
# the code block (`blk`).
|
296
|
+
#
|
297
|
+
def add!: () { (*untyped) -> untyped } -> untyped
|
298
|
+
|
299
|
+
# System CPU time of children
|
300
|
+
#
|
301
|
+
def cstime: () -> Float
|
302
|
+
|
303
|
+
# User CPU time of children
|
304
|
+
#
|
305
|
+
def cutime: () -> Float
|
306
|
+
|
307
|
+
# Returns the contents of this Tms object as a formatted string, according to a
|
308
|
+
# `format` string like that passed to Kernel.format. In addition, #format
|
309
|
+
# accepts the following extensions:
|
310
|
+
#
|
311
|
+
# `%u`
|
312
|
+
# : Replaced by the user CPU time, as reported by Tms#utime.
|
313
|
+
# `%y`
|
314
|
+
# : Replaced by the system CPU time, as reported by #stime (Mnemonic: y of
|
315
|
+
# "s*y*stem")
|
316
|
+
# `%U`
|
317
|
+
# : Replaced by the children's user CPU time, as reported by Tms#cutime
|
318
|
+
# `%Y`
|
319
|
+
# : Replaced by the children's system CPU time, as reported by Tms#cstime
|
320
|
+
# `%t`
|
321
|
+
# : Replaced by the total CPU time, as reported by Tms#total
|
322
|
+
# `%r`
|
323
|
+
# : Replaced by the elapsed real time, as reported by Tms#real
|
324
|
+
# `%n`
|
325
|
+
# : Replaced by the label string, as reported by Tms#label (Mnemonic: n of
|
326
|
+
# "*n*ame")
|
327
|
+
#
|
328
|
+
#
|
329
|
+
# If `format` is not given, FORMAT is used as default value, detailing the user,
|
330
|
+
# system and real elapsed time.
|
331
|
+
#
|
332
|
+
def format: (?String format, *untyped args) -> String
|
333
|
+
|
334
|
+
# Label
|
335
|
+
#
|
336
|
+
def label: () -> String
|
337
|
+
|
338
|
+
# Elapsed real time
|
339
|
+
#
|
340
|
+
def real: () -> Float
|
341
|
+
|
342
|
+
# System CPU time
|
343
|
+
#
|
344
|
+
def stime: () -> Float
|
345
|
+
|
346
|
+
# Returns a new 6-element array, consisting of the label, user CPU time, system
|
347
|
+
# CPU time, children's user CPU time, children's system CPU time and elapsed
|
348
|
+
# real time.
|
349
|
+
#
|
350
|
+
def to_a: () -> untyped
|
351
|
+
|
352
|
+
# Same as #format.
|
353
|
+
#
|
354
|
+
def to_s: () -> String
|
355
|
+
|
356
|
+
# Total time, that is `utime` + `stime` + `cutime` + `cstime`
|
357
|
+
#
|
358
|
+
def total: () -> Float
|
359
|
+
|
360
|
+
# User CPU time
|
361
|
+
#
|
362
|
+
def utime: () -> Float
|
363
|
+
|
364
|
+
# Default caption, see also Benchmark::CAPTION
|
365
|
+
#
|
366
|
+
CAPTION: String
|
367
|
+
|
368
|
+
# Default format string, see also Benchmark::FORMAT
|
369
|
+
#
|
370
|
+
FORMAT: String
|
371
|
+
end
|
364
372
|
end
|
365
|
-
|
366
|
-
# Default caption, see also Benchmark::CAPTION
|
367
|
-
#
|
368
|
-
Benchmark::Tms::CAPTION: String
|
369
|
-
|
370
|
-
# Default format string, see also Benchmark::FORMAT
|
371
|
-
#
|
372
|
-
Benchmark::Tms::FORMAT: String
|
data/stdlib/builtin/encoding.rbs
CHANGED
@@ -46,7 +46,7 @@ module Enumerable[unchecked out Elem, out Return]: _Each[Elem, Return]
|
|
46
46
|
| () { (Elem arg0) -> untyped } -> bool
|
47
47
|
|
48
48
|
def collect: [U] () { (Elem arg0) -> U } -> ::Array[U]
|
49
|
-
| () -> ::Enumerator[Elem,
|
49
|
+
| () -> ::Enumerator[Elem, ::Array[untyped]]
|
50
50
|
|
51
51
|
def collect_concat: [U] () { (Elem arg0) -> ::Enumerator[U, untyped] } -> ::Array[U]
|
52
52
|
|
@@ -317,7 +317,7 @@ module Enumerable[unchecked out Elem, out Return]: _Each[Elem, Return]
|
|
317
317
|
| () -> ::Enumerator[Elem, Return]
|
318
318
|
|
319
319
|
def map: [U] () { (Elem arg0) -> U } -> ::Array[U]
|
320
|
-
| () -> ::Enumerator[Elem,
|
320
|
+
| () -> ::Enumerator[Elem, ::Array[untyped]]
|
321
321
|
|
322
322
|
def member?: (untyped arg0) -> bool
|
323
323
|
|
@@ -374,7 +374,7 @@ module Enumerable[unchecked out Elem, out Return]: _Each[Elem, Return]
|
|
374
374
|
| [T] (?T arg0) -> (Elem | T)
|
375
375
|
| [U] (?U arg0) { (Elem arg0) -> U } -> U
|
376
376
|
|
377
|
-
def filter_map: [U] () { (Elem
|
377
|
+
def filter_map: [U] () { (Elem elem) -> (nil | false | U) } -> ::Array[U]
|
378
378
|
| () -> ::Enumerator[Elem, Return]
|
379
379
|
|
380
380
|
def chain: (*self enumerables) -> ::Enumerator::Chain[Elem, ::Array[self]]
|
@@ -385,7 +385,7 @@ module Enumerable[unchecked out Elem, out Return]: _Each[Elem, Return]
|
|
385
385
|
| () { (Elem arg0) -> untyped } -> self
|
386
386
|
|
387
387
|
# variadic type parameter is not supported yet
|
388
|
-
# https://github.com/ruby/
|
388
|
+
# https://github.com/ruby/rbs/issues/21
|
389
389
|
def zip: [Elem2, Return2] (::Enumerable[Elem2, Return2] enum) -> ::Array[[Elem, Elem2 | nil]]
|
390
390
|
| [U, Elem2, Return2] (::Enumerable[Elem2, Return2]) { ([Elem, Elem2 | nil]) -> U } -> nil
|
391
391
|
|
@@ -250,9 +250,11 @@ class Enumerator::Lazy[out Elem, out Return] < Enumerator[Elem, Return]
|
|
250
250
|
end
|
251
251
|
|
252
252
|
class Enumerator::Yielder < Object
|
253
|
-
def <<: (
|
253
|
+
def <<: (untyped arg0) -> void
|
254
254
|
|
255
255
|
def yield: (*untyped arg0) -> void
|
256
|
+
|
257
|
+
def to_proc: () -> Proc
|
256
258
|
end
|
257
259
|
|
258
260
|
class Enumerator::Chain[out Elem, out Return] < Object
|
data/stdlib/builtin/fiber.rbs
CHANGED
@@ -62,7 +62,11 @@
|
|
62
62
|
class Fiber < Object
|
63
63
|
def self.yield: (*untyped args) -> untyped
|
64
64
|
|
65
|
-
def initialize: () { () ->
|
65
|
+
def initialize: () { () -> untyped } -> void
|
66
66
|
|
67
67
|
def resume: (*untyped args) -> untyped
|
68
|
+
|
69
|
+
def raise: () -> untyped
|
70
|
+
| (string message) -> untyped
|
71
|
+
| (_Exception exception, ?string message, ?Array[String] backtrace) -> untyped
|
68
72
|
end
|
data/stdlib/builtin/file.rbs
CHANGED
@@ -60,9 +60,6 @@ class File < IO
|
|
60
60
|
#
|
61
61
|
# File.absolute_path?("c:/foo") #=> false (on Linux), true (on Windows)
|
62
62
|
#
|
63
|
-
# # arglists 💪👽🚨 << Delete this section
|
64
|
-
# File.absolute_path?(file_name) -> true or false
|
65
|
-
#
|
66
63
|
def self.absolute_path?: (string | _ToPath file_name) -> bool
|
67
64
|
|
68
65
|
# Returns the last access time for the named file as a Time object.
|
data/stdlib/builtin/io.rbs
CHANGED
@@ -480,7 +480,7 @@ class IO < Object
|
|
480
480
|
|
481
481
|
def sysseek: (Integer amount, ?Integer whence) -> Integer
|
482
482
|
|
483
|
-
def syswrite: (
|
483
|
+
def syswrite: (_ToS arg0) -> Integer
|
484
484
|
|
485
485
|
# Returns the current offset (in bytes) of *ios* .
|
486
486
|
#
|
@@ -508,11 +508,11 @@ class IO < Object
|
|
508
508
|
|
509
509
|
def ungetc: (String arg0) -> NilClass
|
510
510
|
|
511
|
-
def write: (
|
511
|
+
def write: (*_ToS arg0) -> Integer
|
512
512
|
|
513
513
|
def self.binread: (String name, ?Integer length, ?Integer offset) -> String
|
514
514
|
|
515
|
-
def self.binwrite: (String name,
|
515
|
+
def self.binwrite: (String name, _ToS arg0, ?Integer offset, ?external_encoding: String external_encoding, ?internal_encoding: String internal_encoding, ?encoding: String encoding, ?textmode: untyped textmode, ?binmode: untyped binmode, ?autoclose: untyped autoclose, ?mode: String mode) -> Integer
|
516
516
|
|
517
517
|
def self.copy_stream: (String | IO src, String | IO dst, ?Integer copy_length, ?Integer src_offset) -> Integer
|
518
518
|
|
@@ -528,7 +528,7 @@ class IO < Object
|
|
528
528
|
|
529
529
|
def self.try_convert: (untyped arg0) -> IO?
|
530
530
|
|
531
|
-
def self.write: (String name,
|
531
|
+
def self.write: (String name, _ToS arg0, ?Integer offset, ?external_encoding: String external_encoding, ?internal_encoding: String internal_encoding, ?encoding: String encoding, ?textmode: untyped textmode, ?binmode: untyped binmode, ?autoclose: untyped autoclose, ?mode: String mode) -> Integer
|
532
532
|
|
533
533
|
def self.for_fd: (Integer fd, ?Integer mode, ?Integer opt) -> self
|
534
534
|
|
data/stdlib/builtin/proc.rbs
CHANGED
@@ -269,8 +269,7 @@ class Proc < Object
|
|
269
269
|
# See also Object\#hash.
|
270
270
|
def hash: () -> Integer
|
271
271
|
|
272
|
-
def initialize: () -> void
|
273
|
-
| () { (*untyped) -> untyped } -> void
|
272
|
+
def initialize: () { (*untyped) -> untyped } -> void
|
274
273
|
|
275
274
|
# Returns `true` for a [Proc](Proc.downloaded.ruby_doc) object for which
|
276
275
|
# argument handling is rigid. Such procs are typically generated by
|