Sha256: 81a367dc6c7c4053aec923f797a23d2b7b440ce0931662c0e16f22396e41569a

Contents?: true

Size: 770 Bytes

Versions: 237

Compression:

Stored size: 770 Bytes

Contents

# frozen_string_literal: true
# typed: true

# A marking class for when methods return void.
# Should never appear in types directly.
class T::Private::Types::Void < T::Types::Base
  ERROR_MESSAGE = "Validation is being done on an `Void`. Please report this bug at https://github.com/sorbet/sorbet/issues"

  # The actual return value of `.void` methods.
  #
  # Uses `module VOID` because this gives it a readable name when someone
  # examines it in Pry or with `#inspect` like:
  #
  #     T::Private::Types::Void::VOID
  #
  module VOID
    freeze
  end

  # overrides Base
  def name
    "<VOID>"
  end

  # overrides Base
  def valid?(obj)
    raise ERROR_MESSAGE
  end

  # overrides Base
  private def subtype_of_single?(other)
    raise ERROR_MESSAGE
  end
end

Version data entries

237 entries across 237 versions & 2 rubygems

Version Path
sorbet-runtime-0.5.10499 lib/types/private/types/void.rb
sorbet-runtime-0.5.10488 lib/types/private/types/void.rb
sorbet-runtime-0.5.10486 lib/types/private/types/void.rb
sorbet-runtime-0.5.10484 lib/types/private/types/void.rb
sorbet-runtime-0.5.10482 lib/types/private/types/void.rb
sorbet-runtime-0.5.10481 lib/types/private/types/void.rb
sorbet-runtime-0.5.10479 lib/types/private/types/void.rb
sorbet-runtime-0.5.10477 lib/types/private/types/void.rb
sorbet-runtime-0.5.10474 lib/types/private/types/void.rb
sorbet-runtime-0.5.10473 lib/types/private/types/void.rb
sorbet-runtime-0.5.10470 lib/types/private/types/void.rb
sorbet-runtime-0.5.10461 lib/types/private/types/void.rb
sorbet-runtime-0.5.10460 lib/types/private/types/void.rb
sorbet-runtime-0.5.10456 lib/types/private/types/void.rb
sorbet-runtime-0.5.10455 lib/types/private/types/void.rb
sorbet-runtime-0.5.10451 lib/types/private/types/void.rb
sorbet-runtime-0.5.10448 lib/types/private/types/void.rb
sorbet-runtime-0.5.10445 lib/types/private/types/void.rb
sorbet-runtime-0.5.10439 lib/types/private/types/void.rb
sorbet-runtime-0.5.10438 lib/types/private/types/void.rb