Module: T::Generic

Includes:
Kernel, Helpers
Defined in:
lib/types/generic.rb

Overview

Use as a mixin with extend (`extend T::Generic`).

Constant Summary

Constants included from Helpers

Helpers::Private

Instance Method Summary collapse

Methods included from Helpers

#abstract!, #final!, #interface!, #mixes_in_class_methods, #requires_ancestor, #sealed!

Methods included from Sig

#sig

Instance Method Details

#[](*types) ⇒ Object

Class/Module Helpers ###



11
12
13
# File 'lib/types/generic.rb', line 11

def [](*types)
  self
end

#type_member(variance = :invariant, fixed: nil, lower: T.untyped, upper: BasicObject, &blk) ⇒ Object

TODO(jez) Remove these keyword arguments once it's a static error



16
17
18
# File 'lib/types/generic.rb', line 16

def type_member(variance=:invariant, fixed: nil, lower: T.untyped, upper: BasicObject, &blk)
  T::Types::TypeMember.new(variance)
end

#type_template(variance = :invariant, fixed: nil, lower: T.untyped, upper: BasicObject, &blk) ⇒ Object

TODO(jez) Remove these keyword arguments once it's a static error



21
22
23
# File 'lib/types/generic.rb', line 21

def type_template(variance=:invariant, fixed: nil, lower: T.untyped, upper: BasicObject, &blk)
  T::Types::TypeTemplate.new(variance)
end