anchor.diff:          body: entry as CollectionElement,
         ));
       } else {
  -      var feature = Feature.control_flow_collections;
  -      handleRecoverableError(
  -        templateExperimentNotEnabled.withArguments(
  -          feature.enableString,
  -          _versionAsString(feature.releaseVersion!),
  -        ),
  -        forToken,
  -        forToken,
  +      _reportFeatureNotEnabled(
  +        feature: ExperimentalFeatures.control_flow_collections,
  +        startToken: forToken,
         );
         push(_invalidCollectionElement);
       }
  
positive.code:     }
  
      if (!enableEnhancedEnums && optional(';', elementsEndToken)) {
        var feature = ExperimentalFeatures.enhanced_enums;
        handleRecoverableError(
          templateExperimentNotEnabled.withArguments(
            feature.enableString,
            _versionAsString(feature.releaseVersion!),
          ),
          elementsEndToken,
          elementsEndToken,
        );
      }
    }
  
negative.code:   @override
    void handleNewAsIdentifier(Token token) {
      if (!enableConstructorTearoffs) {
        _reportFeatureNotEnabled(
          feature: ExperimentalFeatures.constructor_tearoffs,
          startToken: token,
        );
      }
    }
  
  