I can't figure out where it's getting the [PNParameter<[Double]>] idea. When I search with Xcode, there's nothing anywhere in the project with the construction <[.+]>.
I can't reproduce the issue with similar but simpler tests. How is your code different from test 1? (Your code use .init, instead of Bar(), and have default values for Foo.bars, but those don't make difference in my testing).
// test 1
struct Foo<T> {
let bars: [Bar<T>]
}
struct Bar<T> {
let value: T
}
let foo = Foo(bars: [Bar(value: 1), Bar(value: 2), Bar(value: 3)])
// test 2
func test2<T: CustomStringConvertible>(_ items: [S<T>]) {
for i in items {
print(i.value)
}
}
test2([S(value: 1), S(value: 2), S(value: 3)])