Explicit ACL
All declarations should specify Access Control Level keywords explicitly
- Identifier: explicit_acl
- Enabled by default: No
- Supports autocorrection: No
- Kind: idiomatic
- Analyzer rule: No
- Minimum Swift compiler version: 5.0.0
- Default configuration:
Key Value severity warning
Non Triggering Examples
internal enum A {}
public final class B {}
private struct C {}
internal enum A {
internal enum B {}
}
internal final class Foo {}
internal
class Foo {
private let bar = 5
}
internal func a() { let a = }
private func a() { func innerFunction() { } }
private enum Foo { enum Bar { } }
private struct C { let d = 5 }
internal protocol A {
func b()
}
internal protocol A {
var b: Int
}
internal class A { deinit {} }
extension A: Equatable {}
extension A {}
extension Foo {
internal func bar() {}
}
internal enum Foo {
case bar
}
extension Foo {
public var isValid: Bool {
let result = true
return result
}
}
extension Foo {
private var isValid: Bool {
get {
return true
}
set(newValue) {
print(newValue)
}
}
}
Triggering Examples
↓enum A {}
final ↓class B {}
internal struct C { ↓let d = 5 }
public struct C { ↓let d = 5 }
func a() {}
internal let a = 0
↓func b() {}
extension Foo {
↓func bar() {}
}