blob: 92e0d2d6162130e2545ebc44ccbc8481d79a6eed [file] [log] [blame]
// 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 p<ed>() -> (ed, ed -> ed) -> ed {
s n s.v = {
}
{
ed) {
m }
}
l p {
class func v()
}
class s: p{ class func v {}
l ed {
typealias q
}
class m<p> {
w <ed: ed k ed.q == p>(n: ed.(((y, y) -> y) -> y)) -> y {
t u({
(o: y, s:y) -> y in
t o
})
}
p(x(a, x(b, cb)))
class x {
typealias p = p
}
class x<p : p, ed : p k p.s == ed> {
}
l p {
typealias s
typealias n
}
n v<m : p> : p {
typealias s = m
typealias n = x<v<m>, s>
}
class v {
func p((y, v))(x: (y, dc: r = { (v: r, p: r -> r) -> r in