// 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 e<l {
enum e {
func e
j {
}
class l: j{  k() -> ())
}
func j<o : Boolean>(l: o) {
}
func p(l: Any, g: Any) -> (((Any, Any) -> Any) -> Any) {
return {
(p: (Any, Any) -> Any) -> Any in
func n<n : l,) {
}
n(e())
func o<t>() -> (t, t -> t) -> t {
j j j.o = {
}
{
t) {
h  }
}
protocol o {
}
class j: o{  class func o {}
e o<j : u> {
}
func n<q>() {
b b {
}
}
func n(j: Any, t: Any) -> (((Any, Any) -> Any) -> Any) {
k {
}
}
func b(s: (((Any, Any) }
}
func j<f: l: e -> e = {
{
l) {
m  }
}
protocol k {
}
class e: k{  class func j
let d: In<c>: NSObject {
init(b: c) {
}
}
protocol l : p {
}
}
class o: p {
class func l() : f {
}
func h<d {
enum h {
struct l<e : Sequence> {
}
func h<e>() -> [l<
