IDE:Visual Studio X/Fire Version:10.0.0.2413 (develop) Target (If relevant): OSX Description:
This is a reduction that preserved a stack overflow.
Expected Behavior:
Compiler Errors. Actual Behavior:
Stack overflow. Steps:
struct S {}
protocol P {}
extension S: ExpressibleByStringLiteral {
typealias StringLiteralType = S
public init(stringLiteral value: S) {
self = value
}
}
extension P {
public func foo(separator: S = "") {}
}
Although this was fixed for string literals, I just noticed that this occurs similarly for boolean and integer literals in 10.0.0.2433 (develop), when a type conforms to the literal protocol with itself as its literal type.
Oh, the things one finds when trying to build the Swift stdlib in Silver.