<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello Swift evolution community!<div class=""><br class=""></div><div class="">Developing in Swift, I have many times found myself being frustrated that a function with default parameters can’t be passed to another function.</div><div class=""><br class=""></div><div class="">For example:</div><div class=""><br class=""></div><div class="">// sorts a string alphabetically</div><div class="">func sort(string: String, descending: Bool = false) -> String {</div><div class=""> return String(string.sorted { descending ? $1 < $0 : $0 < $1 })</div><div class="">}</div><div class=""><br class=""></div><div class="">let strings = [”swift", ”apple”, ”ios”]</div><div class=""><br class=""></div><div class="">If I wanted to map over the strings and sort each one, I would expect this to work:</div><div class=""><br class=""></div><div class="">strings.map(sort(string:)) // expected output: [”fistw", ”aelpp”, ”ios”]</div><div class=""><br class=""></div><div class="">However, this produces the error: <i class="">use of unresolved identifier 'sort(string:)’</i></div><div class=""><br class=""></div><div class="">Instead, I have to write:</div><div class=""><br class=""></div><div class="">strings.map { sort(string: $0) }</div><div class=""><br class=""></div><div class="">Anybody else that would appreciate this possibility?</div></body></html>