sorbet 0.5.5891 → 0.5.5911

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: 5e4ad8feb3606e17dd5c9930903c6c309f30ef00
4
- data.tar.gz: 109a75e52d1cad3da37bb982100c20d359f2b705
3
+ metadata.gz: 99f5b8075a52d56e557975a588e9ba7cc76f9b91
4
+ data.tar.gz: dedf65d5cb8ec95461a4935d1d079c8fe3eaffc5
5
5
  SHA512:
6
- metadata.gz: e0b00bd68efd79c8fef57aacea598d97654a3f52d91a2005b63c251c118ef65bea432a42c44e02a93cee229f810040de0606394b1913f5f515a363fe2e23c406
7
- data.tar.gz: 8ac1306c9c550402327d13f92e242f8200d5f810d9cdd99409aa4410db47a8881d0d36d0ddad4ae3173e02c6059a3c8706729179828cbaa2672ae72af0c85f70
6
+ metadata.gz: 865cf32843ab8c98b171317fb9c2725b52c275fc7d746801aa29698c6100473b13ebf070d414f9bddbe9b0cc676e40fb8444225cd16fcef9a62e64c01b4a5c23
7
+ data.tar.gz: c7ad8a9d0ebf91388ff143061022411525f8cc85e7d6f494375c05952b001baea36d71f46e951584b88968e370b13b9d32b5469d6a1d0b0d97944fe5394c23f9
@@ -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.5891
4
+ version: 0.5.5911
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-05 00:00:00.000000000 Z
11
+ date: 2020-09-16 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.5891
19
+ version: 0.5.5911
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.5891
26
+ version: 0.5.5911
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement