Skip to content

Commit 635b689

Browse files
authored
Merge branch 'master' into enumerator-chain
2 parents cfb8ed6 + 44014d6 commit 635b689

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1665
-570
lines changed

.github/workflows/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
1515
steps:
1616
- name: Dependabot metadata
17-
uses: dependabot/fetch-metadata@dbb049abf0d677abbd7f7eee0375145b417fdd34 # v2.2.0
17+
uses: dependabot/fetch-metadata@d7267f607e9d3fb96fc2fbe83e0af444713e90b7 # v2.3.0
1818
id: metadata
1919
- name: Checkout repository
2020
uses: actions/checkout@v4

.github/workflows/typecheck.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ jobs:
2020
bundler: none
2121
- name: Set working directory as safe
2222
run: git config --global --add safe.directory $(pwd)
23+
- name: Set up permission
24+
run: chmod -R o-w /opt/hostedtoolcache/Ruby
2325
- name: Install dependencies
2426
run: |
2527
sudo apt-get update

.github/workflows/windows.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@ jobs:
2020
uses: ruby/setup-ruby@v1
2121
with:
2222
ruby-version: ${{ matrix.ruby }}
23+
24+
# ucrt and mswin have the dev version Ruby.
25+
# It introduce checksum mismatches for bundled gems. So remove them before `bundle install`
26+
- name: Purge gem caches
27+
run: |
28+
ruby -e '
29+
exit if "${{ matrix.ruby }}" != "ucrt" && "${{ matrix.ruby }}" != "mswin"
30+
bundled_gems = Dir.glob("D:/ruby-${{ matrix.ruby }}/lib/ruby/gems/*/cache/*.gem")
31+
.map { |path| File.basename(path, ".gem")[/^(.+)-[^-]+$/, 1] }
32+
system "gem uninstall #{bundled_gems.join(" ")}", exception: true
33+
'
2334
- name: bundle install
2435
run: |
2536
bundle config set without profilers libs

.rubocop.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ require:
33
- rubocop-on-rbs
44

55
AllCops:
6-
TargetRubyVersion: 3.0
6+
TargetRubyVersion: 3.1
77
DisabledByDefault: true
88
Exclude:
99
- 'vendor/bundle/**/*'
@@ -44,10 +44,18 @@ RBS/Style:
4444
Exclude:
4545
- 'sig/**/*'
4646
- 'test/**/*'
47+
RBS/Style/BlockReturnBoolish:
48+
Enabled: true
49+
RBS/Style/DuplicatedType:
50+
Enabled: true
4751
RBS/Style/EmptyArgument:
4852
Enabled: true
4953
RBS/Style/InitializeReturnType:
5054
Enabled: true
55+
RBS/Style/OptionalNil:
56+
Enabled: true
57+
RBS/Style/RedundantParentheses:
58+
Enabled: true
5159

5260
Lint/DuplicateMethods:
5361
Enabled: true

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ group :libs do
2929
gem "dbm"
3030
gem "mutex_m"
3131
gem "nkf"
32+
gem "pathname"
3233
end
3334

3435
group :profilers do
@@ -44,6 +45,8 @@ gem "rbs-amber", path: "test/assets/test-gem"
4445
# Bundled gems
4546
gem "net-smtp"
4647
gem 'csv'
48+
gem 'ostruct'
49+
gem 'pstore'
4750

4851
group :minitest do
4952
gem "minitest"

Gemfile.lock

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ GEM
3232
benchmark (0.4.0)
3333
benchmark-ips (2.14.0)
3434
bigdecimal (3.1.9)
35-
concurrent-ruby (1.3.4)
35+
concurrent-ruby (1.3.5)
3636
connection_pool (2.5.0)
3737
csv (3.3.2)
3838
dbm (1.1.0)
3939
diff-lcs (1.5.1)
40-
digest (3.1.1)
40+
digest (3.2.0)
4141
drb (2.2.1)
4242
ffi (1.17.1)
4343
fileutils (1.7.3)
@@ -46,17 +46,17 @@ GEM
4646
psych (>= 3.1, < 5.0)
4747
rainbow (>= 3.0, < 4.0)
4848
strong_json (>= 1.1, < 2.2)
49-
i18n (1.14.6)
49+
i18n (1.14.7)
5050
concurrent-ruby (~> 1.0)
5151
json (2.9.1)
5252
json-schema (5.1.1)
5353
addressable (~> 2.8)
5454
bigdecimal (~> 3.1)
55-
language_server-protocol (3.17.0.3)
55+
language_server-protocol (3.17.0.4)
5656
listen (3.9.0)
5757
rb-fsevent (~> 0.10, >= 0.10.3)
5858
rb-inotify (~> 0.9, >= 0.9.10)
59-
logger (1.6.4)
59+
logger (1.6.5)
6060
marcel (1.0.4)
6161
memory_profiler (1.1.0)
6262
minitest (5.25.4)
@@ -66,15 +66,18 @@ GEM
6666
net-smtp (0.5.0)
6767
net-protocol
6868
nkf (0.2.0)
69+
ostruct (0.6.1)
6970
parallel (1.26.3)
70-
parser (3.3.6.0)
71+
parser (3.3.7.0)
7172
ast (~> 2.4.1)
7273
racc
74+
pathname (0.4.0)
7375
power_assert (2.0.5)
76+
pstore (0.1.4)
7477
psych (4.0.6)
7578
stringio
7679
public_suffix (6.0.1)
77-
raap (1.0.0)
80+
raap (1.1.0)
7881
rbs (~> 3.0)
7982
timeout (~> 0.4)
8083
racc (1.8.1)
@@ -85,7 +88,7 @@ GEM
8588
rb-fsevent (0.11.2)
8689
rb-inotify (0.11.1)
8790
ffi (~> 1.0)
88-
rdoc (6.10.0)
91+
rdoc (6.11.0)
8992
psych (>= 4.0.0)
9093
regexp_parser (2.10.0)
9194
rspec (3.13.0)
@@ -101,7 +104,7 @@ GEM
101104
diff-lcs (>= 1.2.0, < 2.0)
102105
rspec-support (~> 3.13.0)
103106
rspec-support (3.13.2)
104-
rubocop (1.69.2)
107+
rubocop (1.71.0)
105108
json (~> 2.3)
106109
language_server-protocol (>= 3.17.0)
107110
parallel (~> 1.10)
@@ -111,7 +114,7 @@ GEM
111114
rubocop-ast (>= 1.36.2, < 2.0)
112115
ruby-progressbar (~> 1.7)
113116
unicode-display_width (>= 2.4.0, < 4.0)
114-
rubocop-ast (1.37.0)
117+
rubocop-ast (1.38.0)
115118
parser (>= 3.3.1.0)
116119
rubocop-on-rbs (1.3.0)
117120
rbs (~> 3.5)
@@ -121,7 +124,7 @@ GEM
121124
rubocop (~> 1.0)
122125
ruby-progressbar (1.13.0)
123126
securerandom (0.4.1)
124-
stackprof (0.2.26)
127+
stackprof (0.2.27)
125128
steep (1.9.3)
126129
activesupport (>= 5.1)
127130
concurrent-ruby (>= 1.1.10)
@@ -174,6 +177,9 @@ DEPENDENCIES
174177
mutex_m
175178
net-smtp
176179
nkf
180+
ostruct
181+
pathname
182+
pstore
177183
raap
178184
rake
179185
rake-compiler
@@ -190,4 +196,4 @@ DEPENDENCIES
190196
test-unit
191197

192198
BUNDLED WITH
193-
2.5.16
199+
2.6.3

config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ nodes:
191191
- name: variance
192192
- name: upper_bound
193193
- name: default_type
194+
- name: unchecked
194195
- name: location
195196
- name: RBS::MethodType
196197
fields:
@@ -213,6 +214,7 @@ nodes:
213214
- name: location
214215
- name: RBS::Types::Bases::Any
215216
fields:
217+
- name: todo
216218
- name: location
217219
- name: RBS::Types::Bases::Bool
218220
fields:

core/gc.rbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ module GC
111111
# `:HAVE_FINALIZE`
112112
# :
113113
#
114-
def self.raw_data: () -> Array[Hash[Symbol, untyped]]
114+
def self.raw_data: () -> Array[Hash[Symbol, untyped]]?
115115

116116
# <!--
117117
# rdoc-file=gc.c

core/io.rbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2278,7 +2278,7 @@ class IO < Object
22782278
# potential security vulnerabilities if called with untrusted input; see
22792279
# [Command Injection](rdoc-ref:command_injection.rdoc).
22802280
#
2281-
def self.binread: (String name, ?Integer length, ?Integer offset) -> String
2281+
def self.binread: (String name, ?Integer? length, ?Integer offset) -> String
22822282

22832283
# <!--
22842284
# rdoc-file=io.c
@@ -2343,7 +2343,7 @@ class IO < Object
23432343
# IO.copy_stream('t.txt', 't.tmp', 11, 11) # => 11
23442344
# IO.read('t.tmp') # => "Second line"
23452345
#
2346-
def self.copy_stream: (String | _Reader | _ReaderPartial src, String | _Writer dst, ?Integer copy_length, ?Integer src_offset) -> Integer
2346+
def self.copy_stream: (String | _Reader | _ReaderPartial src, String | _Writer dst, ?Integer? copy_length, ?Integer src_offset) -> Integer
23472347

23482348
# <!--
23492349
# rdoc-file=io.c
@@ -2716,7 +2716,7 @@ class IO < Object
27162716
# * [Open Options](rdoc-ref:IO@Open+Options).
27172717
# * [Encoding options](rdoc-ref:encodings.rdoc@Encoding+Options).
27182718
#
2719-
def self.read: (String name, ?Integer length, ?Integer offset, ?external_encoding: String | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String) -> String
2719+
def self.read: (String name, ?Integer? length, ?Integer offset, ?external_encoding: String | Encoding | nil, ?internal_encoding: String | Encoding | nil, ?encoding: String | Encoding | nil, ?textmode: boolish, ?binmode: boolish, ?autoclose: boolish, ?mode: String) -> String
27202720

27212721
# <!--
27222722
# rdoc-file=io.c

docs/syntax.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,9 @@ The following `class`/`instance` types are allowed.
289289
class Foo
290290
attr_reader parent: class
291291
292-
def foo: () -> instance
292+
def foo: () -> instance # behaves like `self` in this context
293+
294+
def self?.bar: () -> instance # behaves like `class` for `def self.bar()` and `self` for `def bar()`
293295
294296
@@foos: Array[instance]
295297
@@ -405,9 +407,12 @@ _ivar-member_ ::= _ivar-name_ `:` _type_
405407
| `self` `.` _ivar-name_ `:` _type_
406408
| _cvar-name_ `:` _type_
407409

408-
_method-member_ ::= _visibility_ `def` _method-name_ `:` _method-types_ # Instance method
409-
| _visibility_ `def self.` _method-name_ `:` _method-types_ # Singleton method
410-
| `def self?.` _method-name_ `:` _method-types_ # Singleton and instance method
410+
_method-member_ ::= _method-class-member_
411+
| _method-interface-member_
412+
_method-class-member_ ::= _visibility_ `def` _method-name_ `:` _method-types_ # Instance method
413+
| _visibility_ `def self.` _method-name_ `:` _method-types_ # Singleton method
414+
| `def self?.` _method-name_ `:` _method-types_ # Singleton and instance method
415+
_method-interface-member_ ::= `def` _method-name_ `:` _method-types_ # Instance method
411416

412417
_method-types_ ::= _method-type-parameters_ _method-type_ # Single method type
413418
| _method-type-parameters_ _method-type_ `|` _method-types_ # Overloading types
@@ -624,7 +629,7 @@ _module-self-types_ ::= _class-name_ _type-arguments_ `,` _module-self-types_
624629

625630
_interface-decl_ ::= `interface` _interface-name_ _module-type-parameters_ _interface-members_ `end`
626631

627-
_interface-members_ ::= _method-member_ # Method
632+
_interface-members_ ::= _method-interface-member_ # Method
628633
| _include-interface-member_ # Mixin (include)
629634
| _alias-member_ # Alias
630635

0 commit comments

Comments
 (0)