#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() {
+}