// 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
protocol b {
    class func e()
}
struct c {
    var d: b.Type
    func e() {
        d.e()
    }
}
func e<k>() -> (k, k -> k) -> k {
   f j f.i = {
}
 {
   k) {
       n  }
}
m e {
   class func i()
}
class f: e{  class f = a
}
struct e : d {
  typealias f = b
}
func i<j : b, k : d where k.f == j> (n: k) {
}
func i<l : d where l.f = 0) {
}
l -> Any)   return $0
}
let succeeds: Int = 1, f1)
class A<T : A> {
}
class c {
    func b((Any, c))(a: (Any, AnyObj c() -> Str rn 
func e<T where Tj d.        h  }b
}
