Merge pull request #5552 from practicalswift/swiftc-28452-this-genericenv-already-have-generic-context-failed

diff --git a/validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift b/validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift
new file mode 100644
index 0000000..eef1156
--- /dev/null
+++ b/validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift
@@ -0,0 +1,16 @@
+// This source file is part of the Swift.org open source project
+// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
+// Licensed under Apache License v2.0 with Runtime Library Exception
+//
+// See http://swift.org/LICENSE.txt for license information
+// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
+
+// RUN: not --crash %target-swift-frontend %s -emit-ir
+// REQUIRES: asserts
+protocol C{{
+}
+typealias F
+func g
+struct D:C{
+func g<T where T=F>func g
+func g