// 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 q<dc>() -> (dc, dc -> dc) -> dc {
t m t.w = {
}
{
dc) {
k  }
}
protocol q {
}
protocol A {
func b(b: X.s) {
}
y(m: x) {
}
func v<t>() -> [dc<t>] {
}
class b<k : dc, w : dc where k.dc == w> : v {
}
class b<k, w> {
}
protocol dc {
}
class A: A {
}
class r : C {
}
func ^(v: q, o) -> o {
}
class v<q : b, dc : b where q.t == dc> {
}
protocol b {
}
struct dc<k : b> : b
