Silver: file private decls behave like internal

IDE: Fire
Version: 8.3
Description:

// file1.swift
private let FOO = 1;
// file2.swift
private let FOO = 2;

Expected Behavior:

Compiles and works as expected (scoped to file).

Actual Behavior:

error E259: Duplicate identifier "FOO"

Steps:

Please use the latest 8.4 beta which has all the relevant Swift 3 fixes. in Swift 2.2, private did mean file private, so that’s how 8.3 behaves. in 8,4. private now is truly private, and fileprivate behaves as ;private did before.

In general, please test against the latest 8.4 betas because otherwise you’ll be running into, literally, hundreds of known and fixed issues, not to mention not see most of the Swift 3 changes.

thanx!

Also note that visibility modifiers affect just that: visibility. you still canot have multiple items of the same name in scope. (and “file” is not a scope, “namespace” is. IOW, while private stuff in file1 can’t be seen in file2, it’s still in their same namespace as file2, so yo can’t have the same global identifier in both.