Additional test for the Issue #435: new test added, it checks that extension type parameter cannot be higher-order.
diff --git a/LanguageFeatures/Extension-methods/generic_parameter_inference_A01_t04.dart b/LanguageFeatures/Extension-methods/generic_parameter_inference_A01_t04.dart
new file mode 100644
index 0000000..0ffe2fa
--- /dev/null
+++ b/LanguageFeatures/Extension-methods/generic_parameter_inference_A01_t04.dart
@@ -0,0 +1,23 @@
+/*
+ * 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 If both the extension and the method is generic, then inference
+ * must infer the extension type parameters first, to figure out whether the
+ * extension applies, and only then start inferring method type parameters. As
+ * mentioned above, the inference is similar to other cases of chained inference.
+ * @description Check that compile error is thrown if extension type variable is
+ * higher order.
+ * @compile-error
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=extension-methods
+
+extension IncorrectExtension<T1, T2> on T1<T2> {
+  void testme() {};
+}
+
+main() {
+}