rbs 3.5.0.pre.2 → 3.5.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/.github/dependabot.yml +12 -4
- data/.github/workflows/dependabot.yml +26 -0
- data/.github/workflows/ruby.yml +7 -1
- data/CHANGELOG.md +102 -1
- data/README.md +3 -2
- data/Rakefile +18 -1
- data/Steepfile +1 -1
- data/core/float.rbs +2 -1
- data/core/integer.rbs +2 -1
- data/core/proc.rbs +1 -1
- data/core/rational.rbs +2 -1
- data/core/ruby_vm.rbs +6 -2
- data/core/rubygems/rubygems.rbs +1 -1
- data/core/set.rbs +13 -7
- data/docs/gem.md +0 -1
- data/ext/rbs_extension/lexer.c +1338 -1341
- data/ext/rbs_extension/lexer.h +2 -0
- data/ext/rbs_extension/lexer.re +2 -3
- data/ext/rbs_extension/lexstate.c +5 -1
- data/ext/rbs_extension/parser.c +69 -21
- data/ext/rbs_extension/parserstate.c +8 -1
- data/ext/rbs_extension/parserstate.h +9 -0
- data/lib/rbs/cli/validate.rb +2 -2
- data/lib/rbs/cli.rb +4 -6
- data/lib/rbs/location_aux.rb +6 -1
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +12 -0
- data/lib/rbs/version.rb +1 -1
- data/rbs.gemspec +6 -2
- data/sig/manifest.yaml +0 -1
- data/sig/parser.rbs +28 -0
- data/stdlib/uri/0/mailto.rbs +84 -0
- metadata +7 -20
- data/Gemfile +0 -41
- data/Gemfile.lock +0 -134
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b76067316b4cfcc66b0072df88be6f74b1e982c3e2c583aa81153fc1d7590cf
|
4
|
+
data.tar.gz: 1051d0012adab3eb36807bad04223e2f6aee7e242981ff12ad0f5e7bdab910d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb7c0b36f6398e989fb33cac75b76566404004c54bc395d2e320c01ec50022a6dd9161589506d2446ec71e4f64bebc983a2664acefc8b64a5bbef1832ee86191
|
7
|
+
data.tar.gz: fc53b27131a5b9d947c072b809aff22c23edadbbe211f49ce415796dc0d3f084230f6c609b1eaf1229adf4a15acce1f67aa57bc9ec0929989c9f085155f8c272
|
data/.github/dependabot.yml
CHANGED
@@ -1,13 +1,21 @@
|
|
1
1
|
version: 2
|
2
2
|
updates:
|
3
|
-
- package-ecosystem:
|
3
|
+
- package-ecosystem: bundler
|
4
4
|
directory: "/"
|
5
5
|
schedule:
|
6
|
-
interval:
|
7
|
-
|
6
|
+
interval: daily
|
7
|
+
open-pull-requests-limit: 3
|
8
|
+
allow:
|
9
|
+
- dependency-type: all
|
10
|
+
|
11
|
+
- package-ecosystem: bundler
|
8
12
|
directory: "/steep"
|
9
13
|
schedule:
|
10
|
-
interval:
|
14
|
+
interval: daily
|
15
|
+
open-pull-requests-limit: 3
|
16
|
+
allow:
|
17
|
+
- dependency-type: all
|
18
|
+
|
11
19
|
- package-ecosystem: 'github-actions'
|
12
20
|
directory: '/'
|
13
21
|
schedule:
|
@@ -0,0 +1,26 @@
|
|
1
|
+
name: Merge dependabot PRs automatically
|
2
|
+
on: pull_request_target
|
3
|
+
|
4
|
+
permissions:
|
5
|
+
pull-requests: write
|
6
|
+
contents: write
|
7
|
+
|
8
|
+
env:
|
9
|
+
blocker_files: rbs.gemspec Gemfile steep/Gemfile
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
dependabot:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
if: ${{ github.actor == 'dependabot[bot]' }}
|
15
|
+
steps:
|
16
|
+
- name: Checkout repository
|
17
|
+
uses: actions/checkout@v4
|
18
|
+
with:
|
19
|
+
fetch-depth: 0
|
20
|
+
- name: Abort if blocker files are changed
|
21
|
+
run: git diff --exit-code ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} ${{ env.blocker_files }}
|
22
|
+
- name: Enable auto-merge for Dependabot PRs
|
23
|
+
run: gh pr merge --auto --merge "$PR_URL"
|
24
|
+
env:
|
25
|
+
PR_URL: ${{github.event.pull_request.html_url}}
|
26
|
+
GH_TOKEN: ${{secrets.DEPENDABOT_MERGE_GH_TOKEN}}
|
data/.github/workflows/ruby.yml
CHANGED
@@ -31,7 +31,9 @@ jobs:
|
|
31
31
|
- ruby: "3.3"
|
32
32
|
job: lexer compile confirm_lexer
|
33
33
|
- ruby: "3.3"
|
34
|
-
job: rubocop validate test_doc build test_generate_stdlib
|
34
|
+
job: rubocop validate test_doc build test_generate_stdlib raap
|
35
|
+
- ruby: "3.3"
|
36
|
+
job: typecheck_test
|
35
37
|
steps:
|
36
38
|
- uses: actions/checkout@v4
|
37
39
|
- uses: ruby/setup-ruby@v1
|
@@ -64,6 +66,10 @@ jobs:
|
|
64
66
|
echo "NO_MINITEST=true" >> $GITHUB_ENV
|
65
67
|
bundle config set --local without 'minitest'
|
66
68
|
if: ${{ contains(matrix.ruby, 'head') }}
|
69
|
+
- name: Skip installing type checkers
|
70
|
+
if: ${{ ! contains(matrix.job, 'typecheck_test') }}
|
71
|
+
run: |
|
72
|
+
bundle config set without 'typecheck_test'
|
67
73
|
- name: bin/setup
|
68
74
|
run: |
|
69
75
|
bin/setup
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,107 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
##
|
3
|
+
## 3.5.0 (2024-06-06)
|
4
|
+
|
5
|
+
### Signature updates
|
6
|
+
|
7
|
+
* `net-http` headers ([#1750](https://github.com/ruby/rbs/pull/1750))
|
8
|
+
* `CSV.foreach` ([#1738](https://github.com/ruby/rbs/pull/1738))
|
9
|
+
* `Enumerator#initialize` ([#1801](https://github.com/ruby/rbs/pull/1801))
|
10
|
+
* `Float#divmod`, `Rational#divmod` ([#1868](https://github.com/ruby/rbs/pull/1868))
|
11
|
+
* `GC` ([#1530](https://github.com/ruby/rbs/pull/1530))
|
12
|
+
* `Integer#pow` ([#1706](https://github.com/ruby/rbs/pull/1706))
|
13
|
+
* `Kernel.rand` ([#1783](https://github.com/ruby/rbs/pull/1783))
|
14
|
+
* `Kernel#extend` ([#1769](https://github.com/ruby/rbs/pull/1769))
|
15
|
+
* `Module#include`, `Module#prepend` ([#1769](https://github.com/ruby/rbs/pull/1769))
|
16
|
+
* `Proc#parameters` ([#1819](https://github.com/ruby/rbs/pull/1819))
|
17
|
+
* `Range#step` ([#1709](https://github.com/ruby/rbs/pull/1709))
|
18
|
+
* `Regexp.union` ([#1809](https://github.com/ruby/rbs/pull/1809))
|
19
|
+
* `RubyVM::YJIT.enable` ([#1812](https://github.com/ruby/rbs/pull/1812))
|
20
|
+
* `RubyVM::YJIT`, `RubyVM::RJIT` ([#1746](https://github.com/ruby/rbs/pull/1746))
|
21
|
+
* `String#bytesplice` ([#1793](https://github.com/ruby/rbs/pull/1793))
|
22
|
+
* `String#gsub!` ([#1768](https://github.com/ruby/rbs/pull/1768))
|
23
|
+
* `Symbol#=~` ([#1704](https://github.com/ruby/rbs/pull/1704))
|
24
|
+
* `Time#initialize` ([#1771](https://github.com/ruby/rbs/pull/1771))
|
25
|
+
* `Time#zone` ([#1770](https://github.com/ruby/rbs/pull/1770))
|
26
|
+
* `Timeout::ExitException` ([#1803](https://github.com/ruby/rbs/pull/1803))
|
27
|
+
* `URI::MailTo` ([#1858](https://github.com/ruby/rbs/pull/1858))
|
28
|
+
* Update docs ([#1811](https://github.com/ruby/rbs/pull/1811), [#1699](https://github.com/ruby/rbs/pull/1699))
|
29
|
+
|
30
|
+
### Language updates
|
31
|
+
|
32
|
+
* Fix proc type syntax ([#1807](https://github.com/ruby/rbs/pull/1807))
|
33
|
+
* Function types with untyped parameter ([#1806](https://github.com/ruby/rbs/pull/1806))
|
34
|
+
* Fix record type ([#1732](https://github.com/ruby/rbs/pull/1732))
|
35
|
+
* parser: enable record types with optional fields ([#1717](https://github.com/ruby/rbs/pull/1717))
|
36
|
+
|
37
|
+
### Library changes
|
38
|
+
|
39
|
+
* Drop dependency on `abbrev` ([#1866](https://github.com/ruby/rbs/pull/1866))
|
40
|
+
* Fix source display ([#1832](https://github.com/ruby/rbs/pull/1832))
|
41
|
+
* Include trivia tokens to lex result ([#1831](https://github.com/ruby/rbs/pull/1831))
|
42
|
+
* Implement token list API ([#1829](https://github.com/ruby/rbs/pull/1829))
|
43
|
+
* Fix memory leak when ParsingError ([#1830](https://github.com/ruby/rbs/pull/1830))
|
44
|
+
* [rbs diff] Fix error when empty manifest.yaml ([#1762](https://github.com/ruby/rbs/pull/1762))
|
45
|
+
* Remove deprecated API since RBS v1 ([#1805](https://github.com/ruby/rbs/pull/1805))
|
46
|
+
* Use array instead of linked list for rbs location's child ([#1786](https://github.com/ruby/rbs/pull/1786))
|
47
|
+
* Fix SEGV with parse negative position ([#1790](https://github.com/ruby/rbs/pull/1790))
|
48
|
+
* Add location for attribute ([#1787](https://github.com/ruby/rbs/pull/1787))
|
49
|
+
* Always be private ([#1774](https://github.com/ruby/rbs/pull/1774))
|
50
|
+
* Prevent resource leak with type/method-type parser when reaching EOF. ([#1742](https://github.com/ruby/rbs/pull/1742))
|
51
|
+
* Allow loading RBS from different version of a gem ([#1731](https://github.com/ruby/rbs/pull/1731))
|
52
|
+
* Fix method name tag on assertion ([#1705](https://github.com/ruby/rbs/pull/1705))
|
53
|
+
* Improve interface check by method parameters ([#1698](https://github.com/ruby/rbs/pull/1698))
|
54
|
+
|
55
|
+
#### rbs prototype
|
56
|
+
|
57
|
+
* Fix prototype for ruby-3.4 ([#1760](https://github.com/ruby/rbs/pull/1760))
|
58
|
+
* Fix 3.4 `prototype rb` failure ([#1713](https://github.com/ruby/rbs/pull/1713))
|
59
|
+
* Add Numeric Node's check for parse rbs ([#1711](https://github.com/ruby/rbs/pull/1711))
|
60
|
+
|
61
|
+
#### rbs collection
|
62
|
+
|
63
|
+
* Fix RBS loading precedence ([#1720](https://github.com/ruby/rbs/pull/1720))
|
64
|
+
* Refactor Git source by using `git?` method ([#1701](https://github.com/ruby/rbs/pull/1701))
|
65
|
+
|
66
|
+
### Miscellaneous
|
67
|
+
|
68
|
+
* Introduce RaaP for testing of signature ([#1810](https://github.com/ruby/rbs/pull/1810))
|
69
|
+
* Revise .gemspec to remove `Gemfile` and `Gemfile.lock` ([#1856](https://github.com/ruby/rbs/pull/1856))
|
70
|
+
* Add link to gem_rbs_collection to README ([#1827](https://github.com/ruby/rbs/pull/1827))
|
71
|
+
* Remove `Gemfile.lock` from the gem package ([#1823](https://github.com/ruby/rbs/pull/1823))
|
72
|
+
* Modify template to use TestHelper ([#1776](https://github.com/ruby/rbs/pull/1776))
|
73
|
+
* Should focus on `String.new` not `String#initialize`. ([#1789](https://github.com/ruby/rbs/pull/1789))
|
74
|
+
* Make the test suite compatible with `--enable-frozen-string-literal` ([#1767](https://github.com/ruby/rbs/pull/1767))
|
75
|
+
* Stop reusing `fd` ([#1752](https://github.com/ruby/rbs/pull/1752))
|
76
|
+
* Fix test failures on Ruby 3.4 ([#1734](https://github.com/ruby/rbs/pull/1734))
|
77
|
+
* Stop trace object allocations during test ([#1724](https://github.com/ruby/rbs/pull/1724))
|
78
|
+
* Fix head test fails ([#1719](https://github.com/ruby/rbs/pull/1719))
|
79
|
+
|
80
|
+
## 3.4.4 (2024-02-08)
|
81
|
+
|
82
|
+
### Miscellaneous
|
83
|
+
|
84
|
+
* Backport [#1752](https://github.com/ruby/rbs/pull/1752) ([#1753](https://github.com/ruby/rbs/pull/1753))
|
85
|
+
|
86
|
+
## 3.4.3 (2024-01-25)
|
87
|
+
|
88
|
+
### Library changes
|
89
|
+
|
90
|
+
#### rbs collection
|
91
|
+
|
92
|
+
* Backport [#1731](https://github.com/ruby/rbs/pull/1731) ([#1735](https://github.com/ruby/rbs/pull/1735))
|
93
|
+
|
94
|
+
## 3.4.2 (2024-01-19)
|
95
|
+
|
96
|
+
### Miscellaneous
|
97
|
+
|
98
|
+
* Backport [#1724](https://github.com/ruby/rbs/pull/1724) ([#1726](https://github.com/ruby/rbs/pull/1726))
|
99
|
+
|
100
|
+
## 3.4.1 (2023-12-26)
|
101
|
+
|
102
|
+
### Signature updates
|
103
|
+
|
104
|
+
* Update embedded RDoc based on ruby-3.3.0 (Backport #1699) ([#1700](https://github.com/ruby/rbs/pull/1700))
|
4
105
|
|
5
106
|
## 3.4.0 (2023-12-21)
|
6
107
|
|
data/README.md
CHANGED
@@ -69,7 +69,7 @@ gem "rbs"
|
|
69
69
|
|
70
70
|
The gem ships with the `rbs` command line tool to demonstrate what it can do and help develop RBS.
|
71
71
|
|
72
|
-
```
|
72
|
+
```console
|
73
73
|
$ rbs version
|
74
74
|
$ rbs list
|
75
75
|
$ rbs ancestors ::Object
|
@@ -98,7 +98,7 @@ end
|
|
98
98
|
|
99
99
|
Running prototype on the above will automatically generate
|
100
100
|
|
101
|
-
```
|
101
|
+
```console
|
102
102
|
$ rbs prototype rb person.rb
|
103
103
|
class Person
|
104
104
|
@name: untyped
|
@@ -190,6 +190,7 @@ Here is a list of some places you can talk with active maintainers.
|
|
190
190
|
|
191
191
|
- [Ruby Discord Server (invite link)](https://discord.gg/ad2acQFtkh) -- We have `rbs` channel in Ruby Discord server.
|
192
192
|
- [ruby-jp Slack Workspace (in Japanese)](https://ruby-jp.github.io/) -- We have `types` channel in ruby-jp slack workspace.
|
193
|
+
- [gem_rbs_collection](https://github.com/ruby/gem_rbs_collection) -- We have a repository of third-party RBS type definitions, for the case your dependency doesn't ship with RBS files.
|
193
194
|
|
194
195
|
## Development
|
195
196
|
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ Rake::TestTask.new(:test => :compile) do |t|
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
multitask :default => [:test, :stdlib_test, :rubocop, :validate, :test_doc]
|
22
|
+
multitask :default => [:test, :stdlib_test, :typecheck_test, :rubocop, :validate, :test_doc]
|
23
23
|
|
24
24
|
task :lexer do
|
25
25
|
sh "re2c -W --no-generation-date -o ext/rbs_extension/lexer.c ext/rbs_extension/lexer.re"
|
@@ -92,6 +92,23 @@ task :stdlib_test => :compile do
|
|
92
92
|
sh "#{ruby} -Ilib #{bin}/test_runner.rb test/stdlib/Encoding_test.rb"
|
93
93
|
end
|
94
94
|
|
95
|
+
task :typecheck_test => :compile do
|
96
|
+
FileList["test/typecheck/*"].each do |test|
|
97
|
+
Dir.chdir(test) do
|
98
|
+
expectations = File.join(test, "steep_expectations.yml")
|
99
|
+
if File.exist?(expectations)
|
100
|
+
sh "steep check --with_expectations"
|
101
|
+
else
|
102
|
+
sh "steep check"
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
task :raap => :compile do
|
109
|
+
sh %q[cat test/raap.txt | egrep -v '^#|^$' | xargs bundle exec raap]
|
110
|
+
end
|
111
|
+
|
95
112
|
task :rubocop do
|
96
113
|
sh "rubocop --parallel"
|
97
114
|
end
|
data/Steepfile
CHANGED
@@ -8,7 +8,7 @@ target :lib do
|
|
8
8
|
# "lib/rbs/test.rb"
|
9
9
|
)
|
10
10
|
|
11
|
-
library "pathname", "json", "logger", "monitor", "tsort", "uri", 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest', '
|
11
|
+
library "pathname", "json", "logger", "monitor", "tsort", "uri", 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest', 'prettyprint', 'yaml', "psych", "securerandom"
|
12
12
|
signature "stdlib/strscan/0/"
|
13
13
|
signature "stdlib/optparse/0/"
|
14
14
|
signature "stdlib/rdoc/0/"
|
data/core/float.rbs
CHANGED
@@ -442,7 +442,8 @@ class Float < Numeric
|
|
442
442
|
# 13.0.divmod(4.0) # => [3, 1.0]
|
443
443
|
# 13.0.divmod(Rational(4, 1)) # => [3, 1.0]
|
444
444
|
#
|
445
|
-
def divmod: (
|
445
|
+
def divmod: (Integer | Float | Rational) -> [ Integer, Float ]
|
446
|
+
| (Numeric) -> [ Numeric, Numeric ]
|
446
447
|
|
447
448
|
def dup: () -> self
|
448
449
|
|
data/core/integer.rbs
CHANGED
@@ -766,7 +766,8 @@ class Integer < Numeric
|
|
766
766
|
# 13.divmod(Rational(4, 1)) # => [3, (1/1)]
|
767
767
|
#
|
768
768
|
def divmod: (Integer) -> [ Integer, Integer ]
|
769
|
-
| (Float) -> [
|
769
|
+
| (Float) -> [ Integer, Float ]
|
770
|
+
| (Rational) -> [ Integer, Rational ]
|
770
771
|
| (Numeric) -> [ Numeric, Numeric ]
|
771
772
|
|
772
773
|
# <!--
|
data/core/proc.rbs
CHANGED
@@ -602,7 +602,7 @@ class Proc < Object
|
|
602
602
|
# prc = lambda{|x, y=42, *other|}
|
603
603
|
# prc.parameters(lambda: false) #=> [[:opt, :x], [:opt, :y], [:rest, :other]]
|
604
604
|
#
|
605
|
-
def parameters: (lambda: boolish) -> ::Array[[ Symbol, Symbol ]]
|
605
|
+
def parameters: (?lambda: boolish) -> ::Array[[ Symbol, Symbol ]]
|
606
606
|
|
607
607
|
# <!--
|
608
608
|
# rdoc-file=proc.c
|
data/core/rational.rbs
CHANGED
@@ -245,7 +245,8 @@ class Rational < Numeric
|
|
245
245
|
|
246
246
|
def div: (Numeric) -> Integer
|
247
247
|
|
248
|
-
def divmod: (
|
248
|
+
def divmod: (Integer | Float | Rational) -> [ Integer, Rational ]
|
249
|
+
| (Numeric) -> [ Numeric, Numeric ]
|
249
250
|
|
250
251
|
def dup: () -> self
|
251
252
|
|
data/core/ruby_vm.rbs
CHANGED
@@ -309,9 +309,13 @@ module RubyVM::YJIT
|
|
309
309
|
# rdoc-file=yjit.rb
|
310
310
|
# - enable(stats: false)
|
311
311
|
# -->
|
312
|
-
# Enable YJIT compilation.
|
312
|
+
# Enable YJIT compilation. `stats` option decides whether to enable YJIT stats
|
313
|
+
# or not.
|
314
|
+
# * `false`: Disable stats.
|
315
|
+
# * `true`: Enable stats. Print stats at exit.
|
316
|
+
# * `:quiet`: Enable stats. Do not print stats at exit.
|
313
317
|
#
|
314
|
-
def self.enable: () -> void
|
318
|
+
def self.enable: (?stats: false | true | :quiet) -> void
|
315
319
|
|
316
320
|
# <!--
|
317
321
|
# rdoc-file=yjit.rb
|
data/core/rubygems/rubygems.rbs
CHANGED
@@ -482,7 +482,7 @@ module Gem
|
|
482
482
|
# rdoc-file=lib/rubygems.rb
|
483
483
|
# - find_unresolved_default_spec(path)
|
484
484
|
# -->
|
485
|
-
# Find
|
485
|
+
# Find an unresolved Gem::Specification of default gem from `path`
|
486
486
|
#
|
487
487
|
def self.find_unresolved_default_spec: (String path) -> Specification?
|
488
488
|
|
data/core/set.rbs
CHANGED
@@ -415,7 +415,7 @@ class Set[unchecked out A]
|
|
415
415
|
# Equivalent to Set#delete_if, but returns nil if no changes were
|
416
416
|
# made. Returns an enumerator if no block is given.
|
417
417
|
#
|
418
|
-
def reject!: () { (A) -> untyped } -> self
|
418
|
+
def reject!: () { (A) -> untyped } -> self?
|
419
419
|
|
420
420
|
# <!--
|
421
421
|
# rdoc-file=lib/set.rb
|
@@ -437,7 +437,7 @@ class Set[unchecked out A]
|
|
437
437
|
# Set[1, 2, 3].disjoint? [3, 4] #=> false
|
438
438
|
# Set[1, 2, 3].disjoint? 4..5 #=> true
|
439
439
|
#
|
440
|
-
def disjoint?: (
|
440
|
+
def disjoint?: (Set[A] | Enumerable[A]) -> bool
|
441
441
|
|
442
442
|
# <!--
|
443
443
|
# rdoc-file=lib/set.rb
|
@@ -458,8 +458,8 @@ class Set[unchecked out A]
|
|
458
458
|
#
|
459
459
|
# Returns an enumerator if no block is given.
|
460
460
|
#
|
461
|
-
def divide: () { (A, A) ->
|
462
|
-
| () { (A) ->
|
461
|
+
def divide: () { (A, A) -> Hash::_Key } -> Set[self]
|
462
|
+
| () { (A) -> Hash::_Key } -> Set[self]
|
463
463
|
|
464
464
|
# <!--
|
465
465
|
# rdoc-file=lib/set.rb
|
@@ -500,7 +500,7 @@ class Set[unchecked out A]
|
|
500
500
|
# Set[1, 2, 3].intersect? 4..5 #=> false
|
501
501
|
# Set[1, 2, 3].intersect? [3, 4] #=> true
|
502
502
|
#
|
503
|
-
def intersect?: (
|
503
|
+
def intersect?: (Set[A] | Enumerable[A]) -> bool
|
504
504
|
|
505
505
|
# <!--
|
506
506
|
# rdoc-file=lib/set.rb
|
@@ -534,7 +534,7 @@ class Set[unchecked out A]
|
|
534
534
|
# Merges the elements of the given enumerable objects to the set and
|
535
535
|
# returns self.
|
536
536
|
#
|
537
|
-
def merge: (_Each[A]) -> self
|
537
|
+
def merge: (*_Each[A]) -> self
|
538
538
|
|
539
539
|
# <!--
|
540
540
|
# rdoc-file=lib/set.rb
|
@@ -544,7 +544,13 @@ class Set[unchecked out A]
|
|
544
544
|
#
|
545
545
|
def subset?: (self) -> bool
|
546
546
|
|
547
|
-
|
547
|
+
# <!--
|
548
|
+
# rdoc-file=lib/set.rb
|
549
|
+
# - proper_subset?(set)
|
550
|
+
# -->
|
551
|
+
# Returns true if the set is a proper subset of the given set.
|
552
|
+
#
|
553
|
+
def proper_subset?: (self) -> bool
|
548
554
|
|
549
555
|
# <!--
|
550
556
|
# rdoc-file=lib/set.rb
|