anchor.diff:    });
   }
   
  -bool _hasFailingTestAnnotation(MethodMirror method) {
  -  return method.metadata.any((InstanceMirror annotation) =>
  -      annotation.type.reflectedType == _FailingTest);
  -}
  +bool _hasAnnotationInstance(DeclarationMirror declaration, instance) =>
  +    declaration.metadata.any((InstanceMirror annotation) =>
  +        identical(annotation.reflectee, instance));
  +
  +bool _hasAssertFailingTestAnnotation(MethodMirror method) =>
  +    _hasAnnotationInstance(method, assertFailingTest);
  +
  +bool _hasFailingTestAnnotation(MethodMirror method) =>
  +    _hasAnnotationInstance(method, failingTest);
   
   Future _invokeSymbolIfExists(InstanceMirror instanceMirror, Symbol symbol) {
     var invocationResult = null;
  
positive.code:       // test_
        if (memberName.startsWith('test_')) {
          test(memberName, () {
            if (_hasFailingTestAnnotation(memberMirror)) {
              return _runFailingTest(classMirror, symbol);
            } else {
              return _runTest(classMirror, symbol);
  
negative.code: library analyzer.test.reflective_tests;
  
  import 'dart:async';
  import 'dart:mirrors';
  
  import 'package:unittest/unittest.dart';
  
  /**
   * A marker annotation used to annotate overridden test methods (so we cannot
   * rename them to `fail_`) which are expected to fail at `assert` in the
   * checked mode.
   */
  const _AssertFailingTest assertFailingTest = const _AssertFailingTest();
  
  /**
   * A marker annotation used to annotate overridden test methods (so we cannot
  