| // 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 |
| protocol A { |
| typealias B |
| } |
| class C<D> { |
| init <A: A where A.B == D>(e: A.B) { |
| } |
| } |
| enum S<T> : P { |
| func f<T>() -> T -> T { |
| return { x in x } |
| } |
| } |
| protocol P { |
| func f<T>()(T) -> T |
| } |
| var f = 1 |
| var e: Int -> Int = { |
| return $0 |
| } |
| let d: Int = { c, b in |
| }(f, e) |
| import Foundation |
| class d<c>: NSObject { |
| var b: c |
| init( self.b = b |
| } |
| } |
| func b(c) -> <d>(() -> d) { |
| } |
| func a(b:yObject) -> Void>]() |
| func call(#object1: AnyObject, object2: AnyObject) { |
| for b in a { |
| b.c(object1, object2) |
| } |
| } |
| } |
| typealias E |
| } |
| struct B<T : A> { |
| let h: T |
| let i: T.E |
| } |
| protocol C { |
| typealias F |
| func g<T where T.E == F>(f: B<T>) |
| } |
| struct D : C { |
| typealias F = Int |
| func g<T where T.E == F>(f: B<T>) { |
| } |
| } |
| import Fof.init() |
| } |
| } |
| struct d<f : e, g: e w |