anchor.diff:        Iterable<ClassMember> overriddenMembers) {
       if (fieldBuilder.classBuilder == classBuilder &&
           fieldBuilder.type == null) {
  -      for (ClassMember overriddenMember
  -          in toSet(classBuilder, overriddenMembers)) {
  +      DartType inferredType;
  +
  +      void inferFrom(ClassMember overriddenMember) {
  +        if (inferredType is InvalidType) return;
  +
           assert(useConsolidated || !overriddenMember.hasDeclarations);
           Member bTarget = overriddenMember.getMember(hierarchy);
           DartType inheritedType;
  
positive.code:           debug?.log("${classBuilder.fullNameForErrors} -> "
                "${bTarget.enclosingClass.name} $bSubstitution");
          }
          if (inheritedType is! ImplicitFieldType) {
            if (bSubstitution != null) {
              inheritedType = bSubstitution.substituteType(inheritedType);
            }
            if (!classBuilder.library.isNonNullableByDefault) {
              inheritedType = legacyErasure(hierarchy.coreTypes, inheritedType);
            }
          }
  
          DartType declaredType = fieldBuilder.fieldType;
          if (declaredType == inheritedType) {
            continue;
          }
  
          if (declaredType is ImplicitFieldType) {
            if (inheritedType is ImplicitFieldType) {
              declaredType.addOverride(inheritedType);
            } else {
              // The concrete type has already been inferred.
              fieldBuilder.hadTypesInferred = true;
              fieldBuilder.fieldType = inheritedType;
            }
          } else if (fieldBuilder.hadTypesInferred) {
            if (inheritedType is! ImplicitFieldType) {
              // A different type has already been inferred.
              reportCantInferFieldType(classBuilder, fieldBuilder);
              fieldBuilder.fieldType = const InvalidType();
            }
          } else {
            fieldBuilder.hadTypesInferred = true;
            fieldBuilder.fieldType = inheritedType;
          }
        }
      }
    }
  
  
negative.code:                 type, a.hadTypesInferredFrom, inferTypesFrom, hierarchy);
            }
          }
        }
      }
  
  