Merge pull request #12180 from practicalswift/swiftc-28847-type-hasunboundgenerictype

diff --git a/validation-test/compiler_crashers/28847-type-hasunboundgenerictype.swift b/validation-test/compiler_crashers/28847-type-hasunboundgenerictype.swift
new file mode 100644
index 0000000..1d8ad46
--- /dev/null
+++ b/validation-test/compiler_crashers/28847-type-hasunboundgenerictype.swift
@@ -0,0 +1,10 @@
+// This source file is part of the Swift.org open source project
+// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
+// Licensed under Apache License v2.0 with Runtime Library Exception
+//
+// See https://swift.org/LICENSE.txt for license information
+// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+
+// REQUIRES: asserts
+// RUN: not --crash %target-swift-frontend %s -emit-ir
+extension a{protocol P{}}class a<a{var f=a a{}func a:P&