# Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE.md file.

# Status file for the test suite ../test/incremental_suite.dart.

# http://dartbug.com/41812#issuecomment-684825703
#strongmode_mixins_2: Crash

changing_modules_16: Crash
late_lowering: EquivalenceError
constant_fileoffset_and_typedef: EquivalenceError
no_such_method_forwarder: EquivalenceError
changing_nullability_on_recompile: EquivalenceError
initializer_not_copied: EquivalenceError
changed_error: EquivalenceError
