Reinstante var bindings in refutable patterns, except function parameters.

This reverts commits: b96e06da44,
                      8f2fbdc93a,
                      93b6962478,
                      64024118f4,
                      a759ca9141,
                      3434f9642b,
                      9f33429891,
                      47c043e8a6.

This commit leaves 'var' on function parameters as a warning to be
merged into Swift 2.2. For Swift 3, this will be an error, to be
converted in a follow-up.
This commit is contained in:
David Farler
2016-01-17 00:15:31 -08:00
parent 58e33ee374
commit 3f635d04c7
120 changed files with 1144 additions and 1076 deletions

View File

@@ -74,19 +74,16 @@ extension SequenceType ${"" if preds else "where Generator.Element : Comparable"
@noescape isOrderedBefore: (${GElement}, ${GElement}) throws -> Bool
% end
) ${rethrows_}-> ${GElement}? {
var minResult: ${GElement}? = nil
for e in GeneratorSequence(generate()) {
if let currentMinResult = minResult {
var g = generate()
guard var result = g.next() else { return nil }
for e in GeneratorSequence(g) {
% if preds:
if try isOrderedBefore(e, currentMinResult) { minResult = e }
if try isOrderedBefore(e, result) { result = e }
% else:
if e < currentMinResult { minResult = e }
if e < result { result = e }
% end
} else {
minResult = e
}
}
return minResult
return result
}
/// Returns the maximum element in `self` or `nil` if the sequence is empty.
@@ -99,19 +96,16 @@ extension SequenceType ${"" if preds else "where Generator.Element : Comparable"
@noescape isOrderedBefore: (${GElement}, ${GElement}) throws -> Bool
% end
) ${rethrows_}-> ${GElement}? {
var maxResult: ${GElement}? = nil
for e in GeneratorSequence(generate()) {
if let currentMaxResult = maxResult {
var g = generate()
guard var result = g.next() else { return nil }
for e in GeneratorSequence(g) {
% if preds:
if try isOrderedBefore(currentMaxResult, e) { maxResult = e }
if try isOrderedBefore(result, e) { result = e }
% else:
if e > currentMaxResult { maxResult = e }
if e > result { result = e }
% end
} else {
maxResult = e
}
}
return maxResult
return result
}
}