Files
swift-mirror/validation-test/compiler_crashers_fixed/issue-44493.swift
2025-12-10 18:49:41 -05:00

26 lines
488 B
Swift

// RUN: %target-swift-frontend -emit-ir %s
struct P<A, B> { let l: A; let r: B }
struct Value { let v: Double? }
func +<A, B, C>(l: P<A, C>, r: P<B, C>) -> P<(A, B), C> {
return P(l: (l.l, r.l), r: l.r)
}
infix operator <!>
func <!> <A>(l: A?, r: A) -> A {
return l == nil ? r : l!
}
func <!> <A, B, C>(l: P<A, B>, r: () -> C) -> P<A, C> {
return P(l: l.l, r: r())
}
let xs: [Value] = []
let a: String = String(xs.reduce(0.0, { (acc, i) in
acc + (i.v <!> 0)
}))
print(a)