Sha256: 106cb88c621bab5ea95e249888346be7df08455e54fed1329526803961247c2e

Contents?: true

Size: 624 Bytes

Versions: 242

Compression:

Stored size: 624 Bytes

Contents

# frozen_string_literal: true
# typed: true

module T::Types
  # Modeling self-types properly at runtime would require additional tracking,
  # so at runtime we permit all values and rely on the static checker.
  class SelfType < Base

    def initialize(); end

    # @override Base
    def name
      "T.self_type"
    end

    # @override Base
    def valid?(obj)
      true
    end

    # @override Base
    private def subtype_of_single?(other)
      case other
      when SelfType
          true
        else
          false
      end
    end

    module Private
      INSTANCE = SelfType.new.freeze
    end
  end
end

Version data entries

242 entries across 242 versions & 1 rubygems

Version Path
sorbet-runtime-0.5.9001 lib/types/types/self_type.rb
sorbet-runtime-0.5.9000 lib/types/types/self_type.rb
sorbet-runtime-0.5.8993 lib/types/types/self_type.rb
sorbet-runtime-0.5.6539 lib/types/types/self_type.rb
sorbet-runtime-0.5.6537 lib/types/types/self_type.rb
sorbet-runtime-0.5.6530 lib/types/types/self_type.rb
sorbet-runtime-0.5.6526 lib/types/types/self_type.rb
sorbet-runtime-0.5.6519 lib/types/types/self_type.rb
sorbet-runtime-0.5.6517 lib/types/types/self_type.rb
sorbet-runtime-0.5.6514 lib/types/types/self_type.rb
sorbet-runtime-0.5.6513 lib/types/types/self_type.rb
sorbet-runtime-0.5.6511 lib/types/types/self_type.rb
sorbet-runtime-0.5.6508 lib/types/types/self_type.rb
sorbet-runtime-0.5.6500 lib/types/types/self_type.rb
sorbet-runtime-0.5.6497 lib/types/types/self_type.rb
sorbet-runtime-0.5.6492 lib/types/types/self_type.rb
sorbet-runtime-0.5.6486 lib/types/types/self_type.rb
sorbet-runtime-0.5.6485 lib/types/types/self_type.rb
sorbet-runtime-0.5.6483 lib/types/types/self_type.rb
sorbet-runtime-0.5.6482 lib/types/types/self_type.rb