Skip to content

Commit a0e7bef

Browse files
committed
---
yaml --- r: 349510 b: refs/heads/master-next c: aa560bf h: refs/heads/master
1 parent e4b35c4 commit a0e7bef

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: 3574c513bbc5578dd9346b4ea9ab5995c5927bb5
3-
refs/heads/master-next: fbe8e56e8b302bdc6b21e81527c7dfe12be48825
3+
refs/heads/master-next: aa560bf78db7c0c38d21f56bd8c66f875d291e29
44
refs/tags/osx-passed: b6b74147ef8a386f532cf9357a1bde006e552c54
55
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-a: 6bb18e013c2284f2b45f5f84f2df2887dc0f7dea
66
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-b: 66d897bfcf64a82cb9a87f5e663d889189d06d07
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// RUN: not --crash %target-swift-emit-silgen %s
2+
3+
protocol Pub {
4+
associatedtype Other
5+
associatedtype Failure: Error
6+
}
7+
8+
class AnyPub<Other, Failure: Error> {}
9+
10+
extension Pub {
11+
func erase() -> AnyPub<Other, Failure> {
12+
return AnyPub<Other, Failure>()
13+
}
14+
}
15+
16+
protocol ObsObj : Pub {
17+
associatedtype NeverPub : Pub where Self.NeverPub.Failure == Never
18+
}
19+
20+
class Subject<Other, Failure: Error> : Pub {}
21+
22+
extension Pub where Other: ObsObj, Other.NeverPub: Subject<Int, Error> {
23+
static func f() -> AnyPub<Other.NeverPub.Other, Other.NeverPub.Failure> {
24+
return Subject<Other.NeverPub.Other, Other.NeverPub.Failure>().erase()
25+
}
26+
}

0 commit comments

Comments
 (0)