# Xcode 9.2
$ echo 'func f() { let snake_case = 1 }'|swiftlint lint --use-stdin --enable-all-rules
<nopath>:1:1: warning: Explicit ACL Violation: All declarations should specify Access Control Level keywords explicitly. (explicit_acl)
<nopath>:1:1: warning: Explicit Top Level ACL Violation: Top-level declarations should specify Access Control Level keywords explicitly. (explicit_top_level_acl)
Done linting! Found 2 violations, 0 serious in 1 file.
# Xcode 9.3 beta 1
$ echo 'func f() { let snake_case = 1 }'|DEVELOPER_DIR=/Applications/Xcode-beta.app swiftlint lint --use-stdin --enable-all-rules
<nopath>:1:1: warning: Explicit ACL Violation: All declarations should specify Access Control Level keywords explicitly. (explicit_acl)
<nopath>:1:1: warning: Explicit Top Level ACL Violation: Top-level declarations should specify Access Control Level keywords explicitly. (explicit_top_level_acl)
<nopath>:1:12: error: Identifier Name Violation: Variable name should only contain alphanumeric characters: 'snake_case' (identifier_name)
<nopath>:1:12: warning: Explicit Type Interface Violation: Properties should have a type interface (explicit_type_interface)
Done linting! Found 4 violations, 1 serious in 1 file.
swiftlint version to be sure)?# none
Is this expected behavior?
I'd say yes, this is expected behavior now that https://github.com/realm/SwiftLint/issues/136 will be fixed.
We could add configurations if we think it's too noisy though.
Thanks! understood. 馃憤
@marcelofabri It'll be great if there's a configuration for this. We only want this for class and struct properties so that the generated interface works well, but continue having type inference for local variables.
@rounak Can you please file a new issue requesting that as a configuration for explicit_type_interface?
@norio-nomura I'll close this for now, feel free to reopen.
@marcelofabri https://github.com/realm/SwiftLint/issues/2028
What about also having the configuration for identifier_name?