I would love this behavior, I ran into a case just a week or two ago where I was wishing for this behavior.
That said, I’m not sure whether it would be possible / feasible for the compiler. And it’s additive so it will have to wait for after Swift 3 is released. > On Jul 18, 2016, at 10:52 AM, Braeden Profile via swift-evolution > <[email protected]> wrote: > > Good morning, Swift community! > > I’ve come across a situation a number of times where I write code that has to > try something one or more times using a `repeat…while` loop and the condition > relies upon variables that should be declared within the scope of the loop. > > repeat > { > let success = doSomething() > } > while !success > > The compiler unnecessarily prohibits this: “Use of unresolved identifier > four.” In this simple case, we can write: > > repeat > { } > while !doSomething() > > But in a more complex situation, we are forced to write: > > var success: Bool > repeat > { > success = doSomething() > } > while !success > > > We could change this so that the declarations within the top level scope of > the loop are accessible from the condition. > > Thanks for reading my first post to the Swift discussion board! > —Braeden > _______________________________________________ > 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
