<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><span></span></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="gmail_extra">(Tommy, did you see the line in the original proposal suggesting that you'd initialize stored properties as if they were additional named associated values? E.g.: <span class="" style="font-size: 13px;">let expr = .Number(3, location: 5, length: 1). I think if you were to reassign expr -- if it were a var -- you'd need to re-assign location and length, too; they wouldn't transfer.)</span></div></div></blockquote><br class=""></div><div class="">Nope, I missed that (sorry). If at all, this seems a reasonable way to implement it. </div></div></blockquote><div><br></div><div>Yup, reassigning an enum is really creating a new enum, so the properties wouldn't transfer.</div><br><blockquote type="cite"><div><div class="">By the way it requires there be no duplicate field labels. Also it seems logical to either have a fixed initializer parameter order (first the associated values, then the labeled common ones in order of declaration), <i class="">*or* </i>to allow any order (in case all associated values have labels as well).</div></div></blockquote><div><br></div><div>Associated values today have to be initialized in the order they're defined (whether they have names or not), and I don't think that needs changing.</div><div><br></div><div>I think the associated values should still come first, since they're more closely related to the case and they're the values you're more likely to be interested in. The properties are the "extra stuff".</div><br><blockquote type="cite"><div><div class="">My only objection to this proposal is still whether the number of cases where this is useful warrants the added complexity and potential confusion for newcomers. I haven't encountered many situations where these stored common properties would be very useful but ymmv.</div></div></blockquote><div><br></div><div>This might be one of those tools that looks really strange if you don't need it, but if you do need it, it's the exact right tool for the job.</div><br><div>Best,</div><div>Jonathan</div></div></body></html>