// 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

// RUN: not %target-swift-frontend %s -typecheck
func n<w>() -> (w, w -> w) -> w {
o m o.q = {
}
{
w) {
k  }
}
protocol n {
}
class o: n{  class func q {}
func p(e: Int = x) {
}
let c = p
protocol p : p {
}
protocol p {
}
class e: p {
}
k e.w == l> {
}
func p(c: Any, m: Any) -> (((Any, b(c) -> <d>(() -> d) {
}
class d<c>: NSObject {
<D> {
init <A: A where A.B == D {
}
}
protocol A {
}
class C<D> {
init <A: A where A.B == D>(e: A.B) {
}
}
}
struct D : C {
func g<T where T.E == F>(f: B<T>) {
}
}
func b(c) ->
