looks like compiler bug. minimal example without swiftUI dependencies:
struct S {
init(_ v: Double) {}
}
func foo(_ v: S) {}
func bar(_ v: [S]) {}
let s: S = .init(1/2) // ok
foo(.init(1/2)) // ok
bar([S(1/2)]) // ok
bar([.init(1/2)]) // Cannot convert value of type 'Int' to expected argument type 'Double'