[swift-evolution] Extending declaration scope to condition for `repeat { } while ()`

Braeden Profile jhaezhyr12 at gmail.com
Mon Jul 18 12:52:55 CDT 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160718/a81eb168/attachment.html>


More information about the swift-evolution mailing list