#1087. Add tests for tearing-off constructor of an abstract class
diff --git a/LanguageFeatures/Constructor-tear-offs/abstract_t01.dart b/LanguageFeatures/Constructor-tear-offs/abstract_t01.dart
new file mode 100644
index 0000000..f77e352
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/abstract_t01.dart
@@ -0,0 +1,30 @@
+// 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 It is a compile time error to tear off constructor of an abstract
+/// class
+///
+/// @description Checks that It is a compile time error to tear off constructor
+/// of an abstract class
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+abstract class C {
+ C() {}
+ C.named() {}
+}
+
+main() {
+ var x = C.new;
+// ^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+ var y = C.named;
+// ^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+}
diff --git a/LanguageFeatures/Constructor-tear-offs/abstract_t02.dart b/LanguageFeatures/Constructor-tear-offs/abstract_t02.dart
new file mode 100644
index 0000000..c7a4708
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/abstract_t02.dart
@@ -0,0 +1,39 @@
+// 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 It is a compile time error to tear off constructor of an abstract
+/// class
+///
+/// @description Checks that It is a compile time error to tear off constructor
+/// of an abstract class
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+abstract class C<T> {
+ C() {}
+ C.named() {}
+}
+
+main() {
+ var v1 = C<int>.new;
+// ^^^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+ var v2 = (C.new)<String>;
+// ^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+ var v3 = C<int>.named;
+// ^^^^^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+ var v4 = (C.named)<String>;
+// ^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}
diff --git a/LanguageFeatures/Constructor-tear-offs/abstract_t03.dart b/LanguageFeatures/Constructor-tear-offs/abstract_t03.dart
new file mode 100644
index 0000000..940c642
--- /dev/null
+++ b/LanguageFeatures/Constructor-tear-offs/abstract_t03.dart
@@ -0,0 +1,29 @@
+// 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 It is a compile time error to tear off constructor of an abstract
+/// class
+///
+/// @description Checks that It is a compile time error to tear off constructor
+/// of an abstract class
+/// @author sgrekhov@unipro.ru
+
+// SharedOptions=--enable-experiment=constructor-tearoffs
+
+class C<T> {
+ C() {}
+ C.named() {}
+}
+
+main() {
+ var v1 = Type.new;
+// ^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+
+ var v2 = (C<int>).new;
+// ^^^^^^^^^^^
+// [analyzer] unspecified
+// [cfe] unspecified
+}