# Copyright (c) 2016, 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 file.

# Null-aware elements are in development
null_aware_elements/constant_null_aware_map_entry_shorting_erroneous: Crash # Should go away once inference is implemented.
null_aware_elements/constant_null_aware_map_entry_shorting: Crash # Should go away once inference is implemented.

const_functions/const_functions_const_factory: VerificationError
enhanced_enums/declared_hashcode: TypeCheckError
enhanced_enums/declared_index: TypeCheckError
extension_types/access_setter_as_getter: ExpectationFileMismatchSerialized # Expected.
extension_types/call_not_get: ExpectationFileMismatchSerialized # Expected.
extension_types/extension_on_nullable: ExpectationFileMismatchSerialized # Expected.
extension_types/non_simple_many_libs_same_name_cycle: ExpectationFileMismatchSerialized
extension_types/show_and_run_ceil: ExpectationFileMismatchSerialized # Expected.
extension_types/simple: ExpectationFileMismatchSerialized
extension_types/simple_getter_resolution: ExpectationFileMismatchSerialized
extension_types/simple_method_resolution: ExpectationFileMismatchSerialized
extension_types/simple_operator_resolution: ExpectationFileMismatchSerialized
extension_types/simple_setter_resolution: ExpectationFileMismatchSerialized
extension_types/simple_show_hide: ExpectationFileMismatchSerialized # Expected.
extension_types/type_variable_in_static_context: ExpectationFileMismatchSerialized # Expected.
general/abstract_members: TypeCheckError
general/bounds_type_parameters: TypeCheckError
general/bug30695: TypeCheckError
general/covariant_field: TypeCheckError
general/crashes/crash_02/main: Crash
general/crashes/crash_06/main: Crash
general/getter_vs_setter_type: TypeCheckError
general/hierarchy/conflict: TypeCheckError
general/hierarchy/duplicates: TypeCheckError
general/hierarchy/forwarding_semi_stub_field: TypeCheckError
general/hierarchy/forwarding_semi_stub_method: TypeCheckError
general/hierarchy/forwarding_semi_stub_setter: TypeCheckError
general/hierarchy/getter_setter: TypeCheckError
general/hierarchy/mix_in_override: TypeCheckError
general/hierarchy/override: TypeCheckError
general/implement_semi_stub: TypeCheckError
general/infer_field_from_multiple2: TypeCheckError
general/infer_field_from_multiple: TypeCheckError
general/invalid_operator: TypeCheckError
general/invalid_operator_override: TypeCheckError
general/issue41210a: TypeCheckError
general/issue41210b/issue41210.no_link: TypeCheckError
general/issue41210b/issue41210: TypeCheckError
general/mixin_application_override: TypeCheckError
general/override_check_accessor_after_inference: TypeCheckError
general/override_check_accessor_basic: TypeCheckError
general/override_check_accessor_with_covariant_modifier: TypeCheckError
general/override_check_after_inference: TypeCheckError
general/override_check_basic: TypeCheckError
general/override_check_with_covariant_modifier: TypeCheckError
general/override_setter_with_field: TypeCheckError
general/supertype_conflict: TypeCheckError
inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer: Fail
inference/generic_methods_do_not_infer_invalid_override_of_generic_method: Fail
inference/generic_methods_handle_override_of_non_generic_with_generic: Fail
inference/infer_assign_to_index: Fail
inference/infer_assign_to_property: Fail
inference/infer_assign_to_property_custom: Fail
inference/infer_method_missing_params: TypeCheckError
inference/infer_types_on_generic_instantiations_infer: TypeCheckError
inference/mixin_inference_outwards_3: TypeCheckError
inference/mixin_inference_outwards_4: TypeCheckError
inference/mixin_inference_unification_1: TypeCheckError
inference/mixin_inference_unification_2: TypeCheckError
late_lowering/covariant_late_field: TypeCheckError
nnbd/covariant_late_field: TypeCheckError
nnbd/getter_vs_setter_type: TypeCheckError
nnbd/issue42603: TypeCheckError
nnbd_mixed/bad_mixins: TypeCheckError
nnbd_mixed/covariant_from_opt_in: TypeCheckError
no_such_method_forwarders/mixin_nsm: TypeCheckError
rasta/native_is_illegal: Pass # Issue 29763
