Module: Rigor::Type::AcceptanceRouter

Included in:
Bot, BoundMethod, Constant, DataClass, DataInstance, Difference, Dynamic, HashShape, IntegerRange, Intersection, Nominal, Refined, Singleton, Top, Tuple, Union
Defined in:
lib/rigor/type/acceptance_router.rb

Overview

Routes ‘accepts` through the engine’s acceptance dispatcher.

Every carrier’s acceptance check is the same fixed forwarding on ‘self` — `Inference::Acceptance.accepts(self, other, mode: mode)` —so it lived as an identical copy in fourteen carriers. The one exception is `Type::App`, which forwards on its reduced `bound` type rather than `self`; it keeps its own `accepts` and does not include this.

Instance Method Summary collapse

Instance Method Details

#accepts(other, mode: :gradual) ⇒ Object



14
15
16
# File 'lib/rigor/type/acceptance_router.rb', line 14

def accepts(other, mode: :gradual)
  Inference::Acceptance.accepts(self, other, mode: mode)
end