[swift-dev] A constraint system / type variable question

Joe Groff jgroff at apple.com
Mon Sep 25 13:37:42 CDT 2017



> On Sep 23, 2017, at 10:36 PM, Robert Widmann via swift-dev <swift-dev at 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



More information about the swift-dev mailing list