// 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 f<l>() -> (l, l -> l) -> l {
l j l.n = {
}
{
l) {
n  }
}
protocol f {
}
class l: f{  class func n {}
func a<i>() {
b b {
}
}
class a<f : b, l : b m f.l == l> {
}
protocol b {
}
struct j<n : b> : b {
}
typealias
d = i
}
class d<j : i, f : i where j.i == f> : e {
}
class d<j, f> {
}
protocol i {
}
protocol e {
}
protocol i : d {
