[swift-dev] Help needed: SE-0035 design detail

2016-04-10 Thread Daniel Duan via swift-dev
Hi all, I'm in the process of implementing SE-0035, which limits capturing inout parameter to @noescape contexts. The proposal is clear on capture behavior for the following: 1. closure literals 2. nested function passed as arguments. But I'm not sure what to do with this case, in which 'x' esca

Re: [swift-dev] Help needed: SE-0035 design detail

2016-04-11 Thread Daniel Duan via swift-dev
> Joe Groff via swift-dev swift.org> writes: > > return local // returning forms a closure, so ref is escapable My plan was to check all return statements with FuncDecl as results, if any of them has inout captures, complain. But this diagnosis is too coarse. A function can capture from any le

Re: [swift-dev] Help needed: SE-0035 design detail

2016-04-11 Thread Daniel Duan via swift-dev
Ah, closures do get the same treatment here. Good point. - Daniel Duan On Mon, Apr 11, 2016 at 1:39 PM -0700, "Joe Groff" wrote: > On Apr 11, 2016, at 1:28 PM, Daniel Duan via swift-dev wrote: > >> Joe Groff via swift-dev swift.org> writes: >>

[swift-dev] Help needed: Removing inout shadow copy from SILGen

2016-06-08 Thread Daniel Duan via swift-dev
Hi all, I'm resuming work on removing the SILGen for the inout shadow copy. Making this change involes quite a bit of tests updates. I'd love some one to review this commit in SILGenProlog.cpp before I dive back into the deep end: https://github.com/dduan/swift/commit/e56d73c065bec7bdde7c0ffee42

Re: [swift-dev] Help needed: Removing inout shadow copy from SILGen

2016-06-09 Thread Daniel Duan via swift-dev
9, 2016, at 10:01 AM, Adrian Prantl wrote: >>> >>> On Jun 9, 2016, at 9:55 AM, Joe Groff wrote: >>>> >>>> >>>>> On Jun 8, 2016, at 7:38 PM, Daniel Duan via swift-dev >>>>> wrote: >>>>> >>>>> Hi all