blob: 4133db45daa4347a7d8542ca94d13734fb808c71 [file] [log] [blame]
// 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 file.
/// @assertion The effect of a type alias of the form typedef id = T; declared in
/// a library L is to introduce the name id into the scope of L, bound to the
/// type T .
/// @description Checks that it is a compile error if id is not unique
/// @author sgrekhov@unipro.ru
class A {}
class C<T> {}
typedef AAlias = A;
typedef CAlias<T> = C<T>;
typedef AAlias = A;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
typedef AAlias = C<String>;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
typedef CAlias<T> = C<T>;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
typedef CAlias = C<String>;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
typedef CAlias<T1, T2> = C<T1>;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
main() {
}