> On Sep 23, 2017, at 10:36 PM, Robert Widmann via swift-dev > <swift-dev@swift.org> wrote: > > Why is the arrow carrying the “Has Value Semantics Bit” rather than it being > part of a protocol composition on an argument type, or a convention bit on > the parameter like ‘inout’?
Value semantics is a property of operations, not really of types. I would say the function arrow is the right place for it, since not-value-semantics propagates in the same manner as an effect like "throws". Dave, you might in fact look at how 'throws' type checking is implemented as a model for what you're trying to do. -Joe _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev