The followiong runs fine in playground [beta 6] :
func g(n: Int) -> Int { return 1 }
do {
func g(n: Int) -> Int { return 2 }
print(g(n:5)) // 2 OK
}
print(g(n:5)) // 1 OK
------------- but does not run inside a do block :
do {
func h(n: Int) -> Int { return 1 }
do {
func h(n: Int) -> Int { return 2 }
print(h(n:5)) // <---- ERROR ambiguous use of h(n:)
}
print(h(n:5))
}
Is this an environment bug ?