> On Oct 2, 2017, at 10:57 PM, Chris Lattner <clatt...@nondot.org> wrote:
> 
> 1) Why not another level of access control?  There is a reasonable argument 
> that what you’re doing is making something “more public than public” or that 
> you’re making the “body also public”.  I’m not strongly in favor of this 
> design approach, but if you agree, the doc should explain why you’re not in 
> favor of it.

Oh, I forgot to address this point. I’m against this because even though this 
proposal says inlinable requires public, it is really orthogonal to public, 
because eventually we will have something like the current @_versioned 
attribute, where internal (or even private, as some have suggested) functions 
can be “public ABI”. For example,

@_versioned func myInternalDetails() {
  // …
}

@inlinable
public func myPublicFunction() {
  myInternalDetails() // I can reference this from an inlinable function, but 
users can’t call it directly
}

Slava
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to