sorbet 0.5.5898 → 0.5.5913

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: 84d925e24043289e12d439c4967331431bf3db00
4
- data.tar.gz: '05368fff06d4c5c570cadc8a318781d87326988f'
3
+ metadata.gz: 9ab6e4f1beba855eafd7dc655e4e8decee671c60
4
+ data.tar.gz: 398d812f568dca2445279c8dc7d008acf6a087d4
5
5
  SHA512:
6
- metadata.gz: 80fe97c8230802ca77ebc897a294dfbb57f685ae43a1edf71c7f12368136c01e1380bb130c2d7c8c1b19b887e5ad80a0afb984d9252fe4e920fea4d379cd7c4c
7
- data.tar.gz: a3aa0c11ff2c1638c166e2ceee6e78496154b5d6ceef215ee77ddd9d27392896a9893abc65d36aa45e8144a5713a1c84fcef70b92a2ce20434f19ad470d813bc
6
+ metadata.gz: 5750d5eb36aff89452876434d45ac1d50e03804483485e6ba6ac78ddd1bfbbdb6ea2779dcd9231c75d49382d53f3710949574744b1eb9c49094a737b2e22dc19
7
+ data.tar.gz: ac9836e88207a1045fcc546f5f573236551bc0328b54d5c96087b552c66ad490b4589a0acb94af6fefcbd91f9c405e2bef5d54e6180791affd9f191ad611ec46
@@ -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.5898
4
+ version: 0.5.5913
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-10 00:00:00.000000000 Z
11
+ date: 2020-09-18 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.5898
19
+ version: 0.5.5913
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.5898
26
+ version: 0.5.5913
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement