Convenience initializers in structs?

FWIW I tried to stop doing this in the actual AST representation and it caused problems ([ClangImporter] Non-class member initializers are not "factory" inits. by jrose-apple · Pull Request #8540 · apple/swift · GitHub <https://github.com/apple/swift/pull/8540&gt;\). That's probably the right way for us to go for real, though, not just hiding the kind in the printer.

Jordan

···

On Jul 18, 2017, at 15:56, Slava Pestov via swift-users <swift-users@swift.org> wrote:

On Jul 18, 2017, at 3:54 PM, Chris McIntyre <nothingwasdelivered@gmail.com <mailto:nothingwasdelivered@gmail.com>> wrote:

Was it ever explained why the syntax is different?

Oh. I think convenience initializers on classes are marked as such explicitly because convenience vs designated has an effect on the ABI of an initializer, for the purposes of inheritance. With a value type, it doesn’t change anything about how the initializer is used externally.

Yeah, probably the AST printer should not print the ‘convenience’ keyword on non-class initializers.