class RSpec::Matchers::BuiltIn::SpecificValuesChange

def perform_change(event_proc)

def perform_change(event_proc)
  @event_proc = event_proc
  @change_details.perform_change(event_proc) do |actual_before|
    # pre-compute values derived from the `before` value before the
    # mutation is applied, in case the specified mutation is mutation
    # of a single object (rather than a changing what object a method
    # returns). We need to cache these values before the `before` value
    # they are based on potentially gets mutated.
    @matches_before = values_match?(@expected_before, actual_before)
    @actual_before_description = description_of(actual_before)
  end
end