dart-sdk/tests/language/mixin_legacy/regress_flutter_55345_const_test.dart
Jake Macdonald 2fc9ea5ad7 copy language/mixin tests to language/mixin_legacy with 2.19 opt out
Change-Id: Ice509ea1f0efec8153fb2380ab0e980fed552b0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289580
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2023-03-20 17:29:31 +00:00

41 lines
858 B
Dart

// Copyright (c) 2023, 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.
// @dart=2.19
// Verifies that references to deduplicated mixins are properly updated
// in types which are only accessible through constants.
// Regression test for https://github.com/flutter/flutter/issues/55345.
class Diagnosticable {}
class SomeClass with Diagnosticable {}
class State<T> with Diagnosticable {
const State();
}
class StateA extends State {
const StateA();
}
class StateB extends State<int> {
const StateB();
}
const c1 = StateA() as dynamic;
const c2 = StateB();
main() {
print(const [
{
(c1 ?? c2): [
[c1 ?? c2]
]
},
'abc'
]);
// No compile time or runtime errors.
}