class Steep::Interface::Substitution
def merge!(s)
def merge!(s) dictionary.transform_values! {|ty| ty.subst(s) } dictionary.merge!(s.dictionary) do |key, a, b| if a == b a else raise "Duplicated key on merge!: #{key}, #{a}, #{b}" end end self end
def merge!(s) dictionary.transform_values! {|ty| ty.subst(s) } dictionary.merge!(s.dictionary) do |key, a, b| if a == b a else raise "Duplicated key on merge!: #{key}, #{a}, #{b}" end end self end