#1123. Expect syntax errors in tests which check syntax
diff --git a/Language/Generics/syntax_t33.dart b/Language/Generics/syntax_t33.dart
new file mode 100644
index 0000000..1342693
--- /dev/null
+++ b/Language/Generics/syntax_t33.dart
@@ -0,0 +1,24 @@
+// Copyright (c) 2021, 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 A generic type alias is a declaration [D] of one of the following
+/// forms:
+/// m typedef id<X1extendsB1, ..., Xs extendsBs> = T;
+/// ...
+/// where [m] is derived from metadata, [T] is a type, and [S?] is a type or the
+/// empty string. Let [S0] be [S?] if it is a type, otherwise let [S0] be
+/// [dynamic]. The associated type of [D], call it [F], is, respectively:
+/// T
+/// ...
+/// @description Checks that [T] should be a type.
+/// @author sgrekhov@unipro.ru
+
+class A {
+ static void callme<T>() { return null; }
+}
+
+typedef W2<T> = 5; //# 01: syntax error
+typedef W3<T> = A.callme<T1 extends T>(); //# 02: syntax error
+
+main() {}
diff --git a/Language/Generics/typedef_A01_t06.dart b/Language/Generics/typedef_A01_t06.dart
index ee4124e..d25a6d3 100644
--- a/Language/Generics/typedef_A01_t06.dart
+++ b/Language/Generics/typedef_A01_t06.dart
@@ -35,14 +35,4 @@
// [analyzer] unspecified
// [cfe] unspecified
-typedef W2<T> = 5;
-// ^^
-// [analyzer] unspecified
-// [cfe] unspecified
-
-typedef W3<T> = A.callme<T1 extends T>();
-// ^^^^^^^^
-// [analyzer] unspecified
-// [cfe] unspecified
-
main() {}
diff --git a/Language/Types/Type_Aliases/syntax_t05.dart b/Language/Types/Type_Aliases/syntax_t05.dart
index 5636688..831dff0 100644
--- a/Language/Types/Type_Aliases/syntax_t05.dart
+++ b/Language/Types/Type_Aliases/syntax_t05.dart
@@ -39,10 +39,6 @@
// ^^^^^^^^^^^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
-typedef Alias7<T1, T2> = C<T2 extends T1>;
-// ^^^^^^^^^^^^^^^^
-// [analyzer] unspecified
-// [cfe] unspecified
main() {
}
diff --git a/Language/Types/Type_Aliases/syntax_t22.dart b/Language/Types/Type_Aliases/syntax_t22.dart
new file mode 100644
index 0000000..def2f41
--- /dev/null
+++ b/Language/Types/Type_Aliases/syntax_t22.dart
@@ -0,0 +1,22 @@
+// 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 A type alias declares a name for a type expression.
+/// <typeAlias> ::=<metadata> typedef <typeIdentifier> <typeParameters>?‘=’<type>
+/// ‘;’
+/// | <metadata> typedef <functionTypeAlias>
+/// <functionTypeAlias> ::= <functionPrefix> <formalParameterPart> ‘;’
+/// <functionPrefix> ::= <type>? <identifier>
+/// @description Checks that it is a syntax error if type alias uses 'extends'
+/// keyword
+/// @author sgrekhov@unipro.ru
+
+class A<T> {}
+class C<T1, T2> {}
+
+typedef Alias<T> = A<T extends num>; //# 01: syntax error
+typedef Clias<T1, T2> = C<T2 extends T1>; //# 02: syntax error
+
+main() {
+}