convenience_type - ApplebaumIan/BitbucketAPI GitHub Wiki
Convenience Type
Types used for hosting only static members should be implemented as a caseless enum to avoid instantiation.
- Identifier: convenience_type
- Enabled by default: Disabled
- Supports autocorrection: No
- Kind: idiomatic
- Analyzer rule: No
- Minimum Swift compiler version: 4.1.0
- Default configuration: warning
Non Triggering Examples
enum Math { // enum
public static let pi = 3.14
}
// class with inheritance
class MathViewController: UIViewController {
public static let pi = 3.14
}
@objc class Math: NSObject { // class visible to Obj-C
public static let pi = 3.14
}
struct Math { // type with non-static declarations
public static let pi = 3.14
public let randomNumber = 2
}
class DummyClass {}
Triggering Examples
↓struct Math {
public static let pi = 3.14
}
↓class Math {
public static let pi = 3.14
}
↓struct Math {
public static let pi = 3.14
@available(*, unavailable) init() {}
}