sorbet 0.5.5895 → 0.5.5912

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/serialize.rb +13 -0
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 52217d57f8ed4286af68e0fdc31576dd8869621d
4
- data.tar.gz: 1d83abe489d3dde09ec150a45ecf7bc69e6ad111
3
+ metadata.gz: ad1eb15481e12575a40d327ea329401ace6dbb40
4
+ data.tar.gz: ef9ea12c254a4882c4dc2c604b04f194245b603e
5
5
  SHA512:
6
- metadata.gz: 798051034de142a6088f4d50662210b1fba99bbc788935bc22cab985bec5528290b37f8f20f5b6fcc347c0d3bb9ca641b58d7d40ca3aee8849ed2e1591015186
7
- data.tar.gz: 308c7538d40a9bee9bb9857106d8d285f995ce76e6c635718355b459615ba9154f14ed822a24dfca231893e66d2b29e092c457d1de208b76157913e719796b43
6
+ metadata.gz: 352418f48bd83642045e6b804efa57ec87e3562c31fc816791030c14547466579e81cd1ebea85f4d1ed020655ad1cf64345be3182a567b44d8eabd352245a487
7
+ data.tar.gz: 9826c691af583735bec901b0c385cd8516dc40a11c7b3f7d8c57298c0c8a0ffc108e3855ce2e93d056960035f2be1ac1fcea93a1344fa146bd8dd96fce2dca61
@@ -337,6 +337,19 @@ class Sorbet::Private::Serialize
337
337
  uniq += 1
338
338
  end
339
339
  end
340
+
341
+ # Sanitize parameter names that are not valid.
342
+ # Ruby 2.7+ argument forwarding works by expanding `foo(...)`
343
+ # to `foo(**, ****, &&)`, in other words, to a rest parameter named
344
+ # `*`, a keyword rest parameter named `**` and a block argument named
345
+ # `&`. Those are all illegal parameter names which we should NOT
346
+ # generate. (Coincidentally, that is why Ruby 2.7+ uses those names,
347
+ # so that user code cannot mess with the forwarded arguments)
348
+ if ["*", "**", "&"].include?(name.to_s)
349
+ name = '_' + (uniq == 0 ? '' : uniq.to_s)
350
+ uniq += 1
351
+ end
352
+
340
353
  [kind, name]
341
354
  end
342
355
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorbet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5895
4
+ version: 0.5.5912
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-09 00:00:00.000000000 Z
11
+ date: 2020-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-static
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.5895
19
+ version: 0.5.5912
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.5.5895
26
+ version: 0.5.5912
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement