// 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 c<g>() -> (g, g -> g) -> g {
   e n e.v = {
}
 {
   g) {
        k  }
}
f c {
}
class e: c{  class func v {}
func d(g: Int = m) {
}
let n = d
class n {
}(v, h)
f d : d {
}
func d<i>() -> (i, i -> i) -> i {
}
f d {
}
f g : d {
}
f n : d {
}
f e {
}
c g : e {
}
func v<n : g, g : e where g.c == n> (n: g) {
}
func v<f : e where f.c == n
