anchor.diff:  
     void test_visitAnnotation_constructor() {
       _assertCloneUnitMember('@A.c() main() {}');
  +  }
  +
  +  void test_visitAnnotation_constructor_generic() {
  +    _assertCloneUnitMember('@A<int>.c() main() {}',
  +        featureSet: FeatureSet.forTesting(
  +            sdkVersion: '2.12',
  +            additionalFeatures: [Feature.generic_metadata]));
     }
   
     void test_visitAnnotation_withComment() {
  
positive.code:     return body.block.statements.single;
    }
  
    CompilationUnit _parseUnit(String code) {
      GatheringErrorListener listener = GatheringErrorListener();
      CharSequenceReader reader = CharSequenceReader(code);
      var featureSet = FeatureSet.forTesting(sdkVersion: '2.2.2');
      Scanner scanner = Scanner(TestSource(), reader, listener)
        ..configureFeatures(
          featureSetForOverriding: featureSet,
  
negative.code:     _assertClone(node);
    }
  
    void _assertCloneUnitMember(String code, {FeatureSet? featureSet}) {
      AstNode node = _parseUnitMember(code, featureSet: featureSet);
      _assertClone(node);
    }
  
  