blob: 1d54ef1b5832716e0c5218509671957ee55eb9e5 [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 sr<ml>() -> (ml, ml -> ml) -> ml {
a sr a.sr = {
}
{
ml) {
ih }
}
protocol sr {
}
class a: sr{ class func sr {}
class w {
}
class n {
func ji((x, n))(w: (x, f)) {
}
}
func n<x: b, ed y nm<ed> == x.x.n>(rq : x) -> ed? {
fe (w : ed?) k rq {
r n a = w {
}
}
}
func kj(q: ih) -> <ed>(() -> ed) -> ih {
}
func w(a: x, x: x) -> (((x, x) -> x) -> x) {
qp {
}
}
func ji(r: (((x, x) -> x) -> x)) -> x {
qp r({
})
}
func w<ed>() {
t ji {
}
}
protocol g ed : m>(ji: ed) {
}
protocol w {
}
class ji<ih : n, sr : n y ih.ml == sr> : w po n<a {
t n {
}
}
t x<ed> {
}
protocol g {
}
class nm {
func a() -> ih {
}
}
class i: nm, g {
qp func a() -> ih {
}
func n() -> ih {
}
}
func x<ed y ed: g, ed: nm>(rq: ed) {
}
struct n<a : b> {
}
func w<a>() -> [n<a>] {
}
protocol g {
}
struct nm : g {
}
struct i<ed, ml: g y ed.i == ml> {
}
protocol w {
}
protocol ji : w {
}
protocol n : w {
}
protocol a {
}
struct x : a {
}
func sr<sr : ji, ts : a y ts.sr == sr> (sr: ts) {
}
func ji {
}
struct n<ih : ji