sorbet-runtime 0.5.10868 → 0.5.10875

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9345606eb5fad0bdd81959a5da8c2bbf15eee74d7d08cc174fb9f2d720f80041
4
- data.tar.gz: 38b59c61934140e75a77d4c23b32d0d9fbc7c79d7bd30d00391daa664870016f
3
+ metadata.gz: e68c846cf9d8a5011cff0cde7bf6298dee1d7cca161328d0198b88e03f7ff907
4
+ data.tar.gz: 5de4a4c33a2e37b203d3e48d7c3496eea0c3e75ed8ff2d6bae1cee7927f8e192
5
5
  SHA512:
6
- metadata.gz: 16a2517ba3d4beb71599487e221dc34ac4cdaf8f7e881500a0f0626a3040ef443ed678a6d1a3dd7088b37813583937aebadbe69c33b45b8fbcdfa05ae960df46
7
- data.tar.gz: 510b91b838f61358e107e8c376965b881bce5ebb170deed88ac930b2b3a509129ca4a1eda7e594e415f915fa87c1bad597f4c5f97dc8cd310bcaa82f1cf2d057
6
+ metadata.gz: c91713107b3343f194fd7a40cfd61c163c80ec1ee3485d51598bd15dc5439098cd7e1860cfd3278be70556702ec9cedf5ea341b1ef55b6f75fa2a78f1fcb1435
7
+ data.tar.gz: 7cb29fe119201e0e1075849b5c9f9e6e0f70167569dd740bad46393b468a87bce2c21cfd0bc4ba86538f22a90ca561458094fd5d80a2afae02fafd864e08de5e
@@ -35,10 +35,11 @@ module T::Private::Abstract::Declare
35
35
  # define_method because of the guard above
36
36
 
37
37
  mod.send(:define_singleton_method, :new) do |*args, &blk|
38
- if T.unsafe(self) == mod
39
- raise "#{mod} is declared as abstract; it cannot be instantiated"
38
+ super(*args, &blk).tap do |result|
39
+ if result.instance_of?(mod)
40
+ raise "#{mod} is declared as abstract; it cannot be instantiated"
41
+ end
40
42
  end
41
- super(*args, &blk)
42
43
  end
43
44
 
44
45
  # Ruby doesn not emit "method redefined" warnings for aliased methods
@@ -38,5 +38,14 @@ module T::Types
38
38
  def describe_obj(obj)
39
39
  obj.inspect
40
40
  end
41
+
42
+ # So that `T.class_of(...)[...]` syntax is valid.
43
+ # Mirrors the definition of T::Generic#[] (generics are erased).
44
+ #
45
+ # We avoid simply writing `include T::Generic` because we don't want any of
46
+ # the other methods to appear (`T.class_of(A).type_member` doesn't make sense)
47
+ def [](*types)
48
+ self
49
+ end
41
50
  end
42
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorbet-runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.10868
4
+ version: 0.5.10875
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-07 00:00:00.000000000 Z
11
+ date: 2023-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest