# Variadic initializers can't be default initializers?

**URL:** <https://forums.swift.org/t/variadic-initializers-cant-be-default-initializers/86686>\
**Category:** Using Swift\
**Tags:** variadic-generics, initialisation\
**Created:** [May 12, 2026, 10:23pm UTC](https://forums.swift.org/t/variadic-initializers-cant-be-default-initializers/86686 "2026-05-12T22:23:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![CTMacUser](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/ctmacuser/32/1802_2.png) [@CTMacUser](https://forums.swift.org/u/CTMacUser)\
**Post date:** [May 12, 2026, 10:23pm UTC](https://forums.swift.org/t/variadic-initializers-cant-be-default-initializers/86686/1 "2026-05-12T22:23:22Z")

</div>

Here's my code:

```swift
extension MyType: SetAlgebra {
  //...

  public init<each S: StringProtocol>(_ string: repeat each S) {
    var result = [String]()
    for s in repeat each string {
      result.append(s.decomposedStringWithCanonicalMapping)
    }
    self.init(result, alreadyDecomposed: true)
  }
}

```

The compiler wouldn't accept the zero-argument version of this method to satisfy the default initializer requirement. Am I missing something, or is this some sort of whoops over coverage?

---

<div class="post-metadata">

**Author:** ![CTMacUser](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/ctmacuser/32/1802_2.png) [@CTMacUser](https://forums.swift.org/u/CTMacUser)\
**Post date:** [May 13, 2026, 5:53am UTC](https://forums.swift.org/t/variadic-initializers-cant-be-default-initializers/86686/3 "2026-05-13T05:53:31Z")

</div>

> [@Danny](#):
>
> [Swift doesn't ever work that nicely](https://forums.swift.org/t/why-are-default-arguments-not-allowed-in-protocols/36399)

I kind of mis-worded it. My case doesn't involve default argument values at all. In the past, we had issues where enumeration cases couldn't fill in something expecting a type-level property, although they have the same user interaction model. Variadic members should be able to satisfy requirements if one of their variations can match.

---

<div class="post-metadata">

**Author:** ![CTMacUser](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/ctmacuser/32/1802_2.png) [@CTMacUser](https://forums.swift.org/u/CTMacUser)\
**Post date:** [May 13, 2026, 9:12am UTC](https://forums.swift.org/t/variadic-initializers-cant-be-default-initializers/86686/5 "2026-05-13T09:12:19Z")

</div>

That article says it should work!

> - Generic functions can satisfy non-generic protocol requirements

Or is it just _non-variadic_ generic functions?

---

<div class="post-metadata">

**Author:** ![CTMacUser](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/ctmacuser/32/1802_2.png) [@CTMacUser](https://forums.swift.org/u/CTMacUser)\
**Post date:** [May 13, 2026, 11:09pm UTC](https://forums.swift.org/t/variadic-initializers-cant-be-default-initializers/86686/6 "2026-05-13T23:09:46Z")

</div>

Now at [Variadic generic member functions can't satisfy protocol requirements. #89120](https://github.com/swiftlang/swift/issues/89120)
