// 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 j<f: l: e -> e = {
{
l) {
m  }
}
protocol k {
}
class e: k{  class func j
protocol d : b { func b
func d(e:  = { (g: h, f: h -> h) -> h in
}
enum S<T> : P {
func f<T>() -> T -> T {
}
}
protocol P {
}
}
struct c<d : Sequence> {
var b:  [c<d>] {
}
protocol a {
}
class b: a {
}
func f<T : Boolean>(b: T) {
}
func e() {
}
}
protocol c : b { func b
otocol A {
}
struct  }
}
func c<i>() -> (i, i -> i) -> i {
k b k.i = {
}
{
i) {
k  }
}
protoch) -> b {
f) -> j) -> > j {
}
}
protocol h : e { func e
func r(d: t, k: t) -> (((t, t) -> t) -i g {
}
struct e<j> : g {
func e(
h s: n -> n = {
}
l o: n = { (d: n, o: n -> n) -> n q
return o(d)
}
