> On Dec 18, 2015, at 5:30 PM, Joe Groff via swift-evolution > <swift-evolution@swift.org> wrote: > > >> On Dec 18, 2015, at 5:27 PM, Matthew Johnson <matt...@anandabits.com> wrote: >> >> +1. Can you provide an example showing where you would place it though? > > Good question. Three options I see: > > - Before the label and binding names, where inout appears today, and where > other argument modifiers like `@autoclosure` go: func foo(&label x: Int) > > which is the minimal change. > > - Before the binding name: func foo(label &x: Int) > > which is problematic for implicitly-labeled arguments. > > - Before the type name: func foo(label x: &Int) > > This is the most definition-follows-use-y, but would be inconsistent with > other argument modifiers.
It seems the latter is the only one of the three that would also make sense for function types. We still need to be able to write down a function type containing an inout parameter right? Also your ideas for lenses involved inout return types — how would these fit in? > > -Joe > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution