Yeah, that matches with my understanding of how the transformation works today for property wrappers with arguments. It still seems like the compiler should be able to look at a wrapped property like
@Multiple(argument: 5) var test: String
and realize that this is only a "partial" initialization, so we'll have to wait until the synthesized initializer to fully expand @Multiple(argument: 5)
to Multiple(wrappedValue: test, argument: 5)
.
@Andrew_Arnopoulos, if you want to see this added to language the next move would be to start a thread in #evolution:discuss and file a ticket on bugs.swift.org. We'd have to consider whether the semantics you propose here are consistent with the existing usages on property wrappers and think about whether there are any corner cases that make this transformation unsound.