A bug report has been filed under SR-5455.

Thanks for the suggestions!

On 2017년 7월 16일 AM 9:52 +0900, Félix Cloutier <[email protected]>, wrote:
> AFAIK, fix-it is driven by the Swift compiler/source kit.
>
> > Le 13 juil. 2017 à 23:17, Saagar Jha via swift-evolution 
> > <[email protected]> a écrit :
> >
> > You should probably file a Radar for this, since Xcode isn’t part of the 
> > Swift project.
> >
> > Saagar Jha
> >
> > > On Jul 13, 2017, at 19:46, iCloud via swift-evolution 
> > > <[email protected]> wrote:
> > >
> > > Hi Swift community,
> > >
> > > I was wondering if we have considered adding support for providing Xcode 
> > > automatic fix-it’s for closures being returned from a function.
> > >
> > > For example, here is an incorrect version of a function that requires two 
> > > `@escaping` keywords to be inserted.
> > >
> > > func mapping <A, B, C> (f: (A) -> (B)) -> ((C, B) -> (C)) -> ((C, A) -> 
> > > (C))
> > >
> > > Despite the complexity, the compiler manages to catch two errors.
> > >
> > > 1. Closure use of non-escaping parameter `f` may allow it to escape
> > >  a. Automatic Fix-it by doing `f: @escaping (A) - > (B)`
> > >
> > > 2. Closure use of non-escaping parameter `reducer` may allow it to escape
> > >  b. No Fix-it provided <————
> > >
> > > As you see above, the two places where a compile-time error occurred had 
> > > the same exact problem; they both needed a `@escaping`. However, while 
> > > the function parameter was offered an automatic fix-it, the nested 
> > > closure being returned was not.
> > >
> > > Here’s the correct version of the function.
> > >
> > > func mapping <A, B, C> (f: @escaping (A) -> (B)) -> (@escaping ((C, B) -> 
> > > (C))) -> ((C, A) -> (C)) {
> > >     return { reducer in
> > >         return { accum, input in
> > >             reducer(accum, f(input))
> > >         }
> > >     }
> > > }
> > >
> > > I know this is a small feature for a very specific use case but I think 
> > > it could help make Xcode a little smarter :D
> > > Thanks for reading!
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > swift-evolution mailing list
> > > [email protected]
> > > https://lists.swift.org/mailman/listinfo/swift-evolution
> >
> > _______________________________________________
> > swift-evolution mailing list
> > [email protected]
> > https://lists.swift.org/mailman/listinfo/swift-evolution
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to