[swift-evolution] [Probe] The automatically generated init for	structs
    Daniel Steinberg 
    daniel at dimsumthinking.com
       
    Fri Jul  1 06:09:47 CDT 2016
    
    
  
My apologies if this was resolved before. 
At one point there was a suggestion for the access level for the auto-generated init for structs. The issue was that the access level is internal by default. If you want to make this init public you have to implement the init yourself - there is no syntax for marking the default init as public.
Also, as in many other languages, if you implement your own init  the default init is not generated. There are times when you want this to be generated anyway so that other inits might call through it. Perhaps to set default values without having to reimplement this init.
Finally, in this last case you might want the default init generated but not exposed to the module or publicly - you may want to mark it as fileprivate but expose another init that uses it.
The following is horrible syntax but I wonder if there can be something that accomplishes these tasks - perhaps
@defaultInit  and
public @defaultInit
private @defaultInit
Best,
Daniel
    
    
More information about the swift-evolution
mailing list