blob: 33d7e31c1470a8e7ba23b6f1d0d094e68168f5d8 [file] [log] [blame]
// 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.
class A<X> {}
switchADynamic(A<dynamic> o) {
var a = /*type=A<dynamic>*/ switch (o) {
A() /*space=A<dynamic>*/ => 0,
};
var b = /*type=A<dynamic>*/ switch (o) {
A<dynamic>() /*space=A<dynamic>*/ => 0,
};
}
switchANum(A<num> o) {
var a = /*type=A<num>*/ switch (o) {
A() /*space=A<num>*/ => 0,
};
var b = /*type=A<num>*/ switch (o) {
A<dynamic>() /*space=A<num>*/ => 0,
};
var c = /*type=A<num>*/ switch (o) {
A<num>() /*space=A<num>*/ => 0,
};
var d1 = /*type=A<num>*/ switch (o) {
A<int>() /*space=A<int>*/ => 0,
_ /*space=A<num>*/ => 1,
};
var d2 = /*
error=non-exhaustive:A<num>(),
type=A<num>
*/ switch (o) {
A<int>() /*space=A<int>*/ => 0,
};
}
switchAGeneric<T>(A<T> o) {
var a = /*type=A<T>*/ switch (o) {
A() /*space=A<T>*/ => 0,
};
var b = /*type=A<T>*/ switch (o) {
A<dynamic>() /*space=A<T>*/ => 0,
};
var c = /*type=A<T>*/ switch (o) {
A<T>() /*space=A<T>*/ => 0,
};
var d1 = /*type=A<T>*/ switch (o) {
A<int>() /*space=A<int>*/ => 0,
_ /*space=A<T>*/ => 1,
};
var d2 = /*
error=non-exhaustive:A<T>(),
type=A<T>
*/ switch (o) {
A<int>() /*space=A<int>*/ => 0,
};
}