# Copyright (c) 2019, 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 weak_suite.dart test suite.

extensions/extension_setter_error: TypeCheckError
extensions/instance_access_of_static: RuntimeError
extensions/invalid_explicit_access: RuntimeError
extensions/static_access_of_instance: RuntimeError
general_nnbd_opt_out/abstract_members: TypeCheckError
general_nnbd_opt_out/accessors: RuntimeError
general_nnbd_opt_out/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
general_nnbd_opt_out/argument_mismatch: InstrumentationMismatch # Test assumes Dart 1.0 semantics
general_nnbd_opt_out/await_in_non_async: RuntimeError # Expected.
general_nnbd_opt_out/bug21938: TypeCheckError
general_nnbd_opt_out/bug30695: TypeCheckError
general_nnbd_opt_out/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
general_nnbd_opt_out/bug32629: InstrumentationMismatch # Test has an intentional error
general_nnbd_opt_out/call: TypeCheckError
general_nnbd_opt_out/candidate_found: TypeCheckError
general_nnbd_opt_out/cascade: RuntimeError
general_nnbd_opt_out/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
general_nnbd_opt_out/covariant_generic: RuntimeError
general_nnbd_opt_out/duplicated_declarations: TypeCheckError
general_nnbd_opt_out/duplicated_field_initializer: RuntimeError
general_nnbd_opt_out/dynamic_and_void: InstrumentationMismatch # Test assumes Dart 1.0 semantics
general_nnbd_opt_out/error_locations/error_location_01: RuntimeError
general_nnbd_opt_out/error_locations/error_location_02: RuntimeError
general_nnbd_opt_out/error_locations/error_location_03: RuntimeError
general_nnbd_opt_out/error_locations/error_location_05: RuntimeError
general_nnbd_opt_out/error_locations/error_location_06: RuntimeError
general_nnbd_opt_out/expressions: RuntimeError
general_nnbd_opt_out/external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
general_nnbd_opt_out/incomplete_field_formal_parameter: RuntimeError
general_nnbd_opt_out/invalid_type: TypeCheckError
general_nnbd_opt_out/invocations: RuntimeError
general_nnbd_opt_out/issue37776: RuntimeError
general_nnbd_opt_out/issue38938: RuntimeError # no main and compile time errors.
general_nnbd_opt_out/issue38944: RuntimeError # no main and compile time errors.
general_nnbd_opt_out/issue38961: RuntimeError # no main and compile time errors.
general_nnbd_opt_out/micro: RuntimeError
general_nnbd_opt_out/mixin_application_override: ExpectationFileMismatch # Too many errors.
general_nnbd_opt_out/mixin_application_override: TypeCheckError
general_nnbd_opt_out/mixin_constructors_with_default_values: RuntimeError # Expected
general_nnbd_opt_out/operator_method_not_found: RuntimeError # Expected
general_nnbd_opt_out/optional: TypeCheckError
general_nnbd_opt_out/override_check_accessor_after_inference: TypeCheckError # Issue #31620
general_nnbd_opt_out/override_check_accessor_basic: TypeCheckError # Issue #31620
general_nnbd_opt_out/override_check_accessor_with_covariant_modifier: TypeCheckError # Issue #31620
general_nnbd_opt_out/override_check_after_inference: TypeCheckError # Issue #31620
general_nnbd_opt_out/override_check_basic: TypeCheckError # Issue #31620
general_nnbd_opt_out/override_check_with_covariant_modifier: TypeCheckError # Issue #31620
general_nnbd_opt_out/override_setter_with_field: TypeCheckError
general_nnbd_opt_out/reject_generic_function_types_in_bounds: RuntimeError # Expected
general_nnbd_opt_out/spread_collection: RuntimeError
general_nnbd_opt_out/statements: Crash
general_nnbd_opt_out/type_parameter_type_named_int: RuntimeError # Expected
general_nnbd_opt_out/type_variable_as_super: RuntimeError
general_nnbd_opt_out/type_variable_bound_access: TypeCheckError
general_nnbd_opt_out/unsound_promotion: TypeCheckError
general_nnbd_opt_out/void_methods: RuntimeError
general_nnbd_opt_out/warn_unresolved_sends: InstrumentationMismatch # Test assumes Dart 1.0 semantics
nnbd/inheritance_from_opt_in: TypeCheckError
nnbd/messages_with_types_opt_in: TypeCheckError
nnbd/messages_with_types_opt_out: TypeCheckError
nnbd/never_opt_out: TypeCheckError