// 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 m<u>() -> (u, u -> u) -> u {
p o p.s = {
}
{
u) {
o  }
}
s m {
}
s p {
}
class n {
class e: n, p {
v func> String {
}
{
}
func s<o : m, o : p o o.m == o> (m: o) {
}
class d<c>: NSObject {
var b:     init(b: c) {
class A {
class func a() -eturn ""     static let d:{a()
class A {
class func a() -> Self {
}
}
func b<T>(t: AnyObject.Type) }
protocol e {
}
enum S<T> : P {
func f<T>() -> T -> T {
