diff --git a/tests/cases/fourslash/genericTypeAliasIntersectionCompletions.ts b/tests/cases/fourslash/genericTypeAliasIntersectionCompletions.ts
new file mode 100644
index 00000000000..7c0fa3e5b17
--- /dev/null
+++ b/tests/cases/fourslash/genericTypeAliasIntersectionCompletions.ts
@@ -0,0 +1,32 @@
+///
+
+//// type MixinCtor = new () => A & B & { constructor: MixinCtor };
+//// function merge(a: { prototype: A }, b: { prototype: B }): MixinCtor {
+//// let merged = function() { }
+//// Object.assign(merged.prototype, a.prototype, b.prototype);
+//// return >merged;
+//// }
+////
+//// class TreeNode {
+//// value: any;
+//// }
+////
+//// abstract class LeftSideNode extends TreeNode {
+//// abstract right(): TreeNode;
+//// left(): TreeNode {
+//// return null;
+//// }
+//// }
+////
+//// abstract class RightSideNode extends TreeNode {
+//// abstract left(): TreeNode;
+//// right(): TreeNode {
+//// return null;
+//// };
+//// }
+////
+//// var obj = new (merge(LeftSideNode, RightSideNode))();
+//// obj./**/
+
+goTo.marker();
+verify.completionListItemsCountIsGreaterThan(0);