mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
A constraint like `Parameter == SomethingConcrete` means references to `Parameter` in that context behave like `SomethingConcrete`, including for name resolution. Handling the parameter as just a parameter type means that it won't find any non-protocol nested types (i.e. things other than associated types and protocol typealiases are invisible). Fixes rdar://problem/42136457 and SR-8240.
15 lines
283 B
Swift
15 lines
283 B
Swift
// RUN: %target-typecheck-verify-swift
|
|
|
|
struct Box<Representation> {
|
|
let value: Representation
|
|
}
|
|
enum Repr {}
|
|
extension Repr {
|
|
typealias RawEnum = ()
|
|
}
|
|
extension Box where Representation == Repr {
|
|
init(rawEnumValue: Representation.RawEnum) {
|
|
fatalError()
|
|
}
|
|
}
|