class Steep::TypeInference::LocalVariableTypeEnv
def initialize(subtyping:, declared_types:, assigned_types:, self_type:)
def initialize(subtyping:, declared_types:, assigned_types:, self_type:) @subtyping = subtyping @self_type = self_type @declared_types = declared_types @assigned_types = assigned_types unless (intersection = Set.new(declared_types.keys) & Set.new(assigned_types.keys)).empty? raise "Declared types and assigned types should be disjoint: #{intersection}" end end