anchor.diff:  
     @override
     void declaredMixin(MixinDeclaration declaration) {
  -    if (visibilityTracker._isVisible(declaration.declaredElement) &&
  +    if (!inExtendsClause &&
  +        visibilityTracker._isVisible(declaration.declaredElement) &&
           opType.includeTypeNameSuggestions) {
         builder.suggestClass(declaration.declaredElement, kind: _defaultKind);
       }
  
positive.code: 
    /// A flag indicating whether local fields should be suggested.
    final bool suggestLocalFields;
  
    /// Only used when [useNewRelevance] is `false`.
    int privateMemberRelevance = DART_RELEVANCE_DEFAULT;
  
negative.code:     }
    }
  
    @override
    void visitExtendsClause(ExtendsClause node) {
      inExtendsClause = true;
      return super.visitExtendsClause(node);
    }
  
    /// Return `true` if the [identifier] is composed of one or more underscore
    /// characters and nothing else.
    bool _isUnused(String identifier) => RegExp(r'^_+$').hasMatch(identifier);
  