<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Cascading falls under a separate proposal. There's an intermediate form which stagnated here: <a href="https://gist.github.com/erica/6794d48d917e2084d6ed" class="">https://gist.github.com/erica/6794d48d917e2084d6ed</a></div><div class=""><br class=""></div><div class="">As Xiaodi Wu pointed out, you can introduce an implementation of `with` that uses reflection but that would be deferred to a later date when reflection itself gets updated.</div><div class=""><br class=""></div><div class="">-- E</div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 20, 2016, at 7:44 AM, Martin Waitz <<a href="mailto:tali@admingilde.org" class="">tali@admingilde.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Am 2016-12-19 20:44, schrieb Erica Sadun via swift-evolution:<br class=""><blockquote type="cite" class=""><a href="https://github.com/apple/swift-evolution/pull/346" class="">https://github.com/apple/swift-evolution/pull/346</a><br class=""></blockquote><br class="">-1<br class="">I don't like where this is heading.<br class=""><br class="">If you want to introduce method cascading, then have a look at Dart.<br class=""><br class="">E.g. the example from the pull request could be something like this:<br class=""><br class=""> let questionLabel = UILabel()<br class=""> ..textAlignment = .Center<br class=""> ..font = UIFont(name: "DnealianManuscript", size: 72)<br class=""> ..text = questionText<br class=""><br class="">The expression could still work on a mutable struct/class which later becomes<br class="">immutable by using the `let` assignment.<br class=""><br class="">The other example which silently creates a new instance is even worse.<br class="">If you want to do something like this, then please do it more explicitly.<br class="">E.g.:<br class=""><br class=""> let fewerFoos = foos.clone()<br class=""> ..remove(at: i)<br class=""><br class="">Anyway, all of this is simply syntactic sugar and should wait...<br class=""><br class="">-- <br class="">Martin<br class=""></div></div></blockquote></div><br class=""></body></html>