# File lib/rspec/matchers.rb, line 178
    def self.is_a_matcher?(obj)
      return true  if ::RSpec::Matchers::BuiltIn::BaseMatcher === obj
      return false if obj.respond_to?(:i_respond_to_everything_so_im_not_really_a_matcher)
      return false unless obj.respond_to?(:matches?)

      obj.respond_to?(:failure_message_for_should) || obj.respond_to?(:failure_message)
    end