| // 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 |
| import Foundation |
| class m<j>: NSObject { |
| var h: j |
| g -> k = l $n |
| } |
| b f: _ = j() { |
| } |
| } |
| func k<g { |
| enum k { |
| func l |
| var _ = l |
| c |
| j) |
| func c<k>() -> (k, > k) -> k { |
| d h d.f 1, k(j, i))) |
| class k { |
| typealias h = h |
| protocol A { |
| typealias B |
| } |
| class C<D> { |
| init <A: A where A.B == D>(e: A.B) { |
| } |
| } |
| protocol a { |
| typealias d |
| typealias e = d |
| typealias f = d |
| } |
| class b<h : c, i : c where h.g == i> : a { |
| } |
| class b<h, i> { |
| } |
| protocol c { |
| typealias g |
| } |
| class l { |
| func f((k, l() -> f |
| } |
| class d |
| } |
| class i: d, g { |
| l func d() -> f { |
| m "" |
| } |
| } |
| } |
| func m<j n j: g, j: d |
| let l = h |
| l() |
| f |
| protocol l : f { func f |
| protocol g |
| import Foundation |
| class m<j>k i<g : g, e : f k(f: l) { |
| } |
| i(()) |
| class h { |
| typealias g = g |
| struct c<d : Sequence> { |
| var b: [c<d>] { |
| return [] |
| } |
| protocol a { |
| class func c() |
| } |
| class b: a { |
| class func c() { } |
| } |
| (b() as a).dynamicType.c() |
| func f<T : Boolean>(b: T) { |
| } |
| f(true as Boolean) |
| func a(x: Any, y: Any) -> (((Any, Any) -> Any) -> A var d: b.Type |
| func e() { |
| d.e() |
| } |
| } |
| b |
| protocol c : b { func b |
| otocol A { |
| E == F>(f: B<T>) |
| } |
| struct } |
| } |
| struct l<e : Sequence> { |
| l g: e |
| } |
| func h<e>() -> [l<e>] { |
| f [] |
| } |
| func i(e: g) -> <j>(() -> j) -> k |
| func b(c) -> <d>(() -> d) { |
| } |
| func k<q>() -> [n<q>] { |
| r [] |
| } |
| func k(l: Int = 0) { |
| } |
| n n = k |
| n() |
| func n<q { |
| l n { |
| func o |
| o _ = o |
| } |
| } |
| func ^(k: m, q) -> q { |
| r !(k) |
| } |
| protocol k { |
| j q |
| j o = q |
| j f = q |
| } |
| class l<r : n, l : n p r.q == l> : k { |
| } |
| class l<r, l> { |
| } |
| protocol n { |
| j q |
| } |
| protocol k : k { |
| } |
| class k<f : l, q : l p f.q == q> { |
| } |
| protocol l { |
| j q |
| j o |
| } |
| struct n<r : l> |
| struct c<d: Sequence, b where Optional<b> == d.Iterator.Element> |
| } |
| class p { |
| u _ = q() { |
| } |
| } |
| u l = r |
| u s: k -> k = { |
| n $h: m.j) { |
| } |
| } |
| o l() { |
| ({}) |
| } |
| struct m<t> { |
| let p: [(t, () -> ())] = [] |
| } |
| protocol p : p { |
| } |
| protocol m { |
| o u() -> String |
| } |
| class j { |
| o m() -> String { |
| n "" |
| } |
| } |
| class h |