You should file a bug on the first sample.

Zhaoxin

On Fri, Jun 17, 2016 at 1:43 PM, Saagar Jha via swift-users <
swift-users@swift.org> wrote:

> Looks like a bug…strangely, lldb’s giving number: Int = 5678.
>
>
> On Thu, Jun 16, 2016 at 10:18 PM Martin R via swift-users <
> swift-users@swift.org> wrote:
>
>> Hi,
>>
>> I wonder why the Swift compiler does not complain about the
>> redeclaration of `number` after the guard-statement in top-level code:
>>
>>     // main.swift
>>     import Swift
>>
>>     guard let number = Int("1234") else { fatalError() }
>>     print(number) // Output: 1234
>>     let number = 5678
>>     print(number) // Output: 1234
>>
>> It looks as if the statement `let number = 5678` is completely ignored.
>>
>> However, doing the same inside a function causes a compiler error:
>>
>>     func foo() {
>>         guard let number = Int("1234") else { fatalError() }
>>         print(number)
>>         let number = 5678 //  error: definition conflicts with previous
>> value
>>     }
>>
>> Tested with
>> - Xcode 7.3.1, "Default" and "Snapshot 2016-06-06 (a)" toolchain
>> - Xcode 8 beta.
>>
>> Am I overlooking something or is that a bug?
>>
>> Martin
>> _______________________________________________
>> swift-users mailing list
>> swift-users@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-users
>>
> --
> -Saagar Jha
>
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
>
>
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to