<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">On Dec 10, 2017, at 10:04 AM, Paul Cantrell <<a href="mailto:cantrell@pobox.com" class="">cantrell@pobox.com</a>> wrote:<br class=""><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">This is looking less like a protocol by the day. The square-peg grooves in the round hole are getting deeper and more splintery with every revision.</div></div></div></blockquote><br class=""></div><div class="">The flavor of DynamicMemberLookupProtocol with an explicit member requirement sure does _read_ nicely! The fact that Chris left it present but commented out in the proposal suggests that expressing it that way has some intuitive / communicative value.</div><div class=""><br class=""></div><div class="">This section laying out the reasons why it doesn’t work:</div><div class=""><br class=""></div><div class=""> <a href="https://gist.github.com/lattner/b016e1cf86c43732c8d82f90e5ae5438#declare-an-explicit-subscript-requirement" class="">https://gist.github.com/lattner/b016e1cf86c43732c8d82f90e5ae5438#declare-an-explicit-subscript-requirement</a></div><div class=""><br class=""></div><div class="">…reads like a todo list for rounding out protocols and generics.</div><div class=""><br class=""></div>So, Chris, question: in the future, maybe circa Swift 6 or 7, is it likely that generalized existentials + some sort of more robust handling of “mutating” in protocols would make the explicit member requirement on DynamicMemberLookupProtocol actually work?</div></div></blockquote><div><br class=""></div><div>It is possible. I’m not the best expert on the generics system, but I can’t imagine that it would be a priority in the near term.</div><br class=""></div><div>-Chris</div><div><br class=""></div><br class=""></body></html>