Type Name
Type name should only contain alphanumeric characters, start with an uppercase character and span between 3 and 40 characters in length. Private types may start with an underscore.
- Identifier:
type_name
- Enabled by default: Yes
- Supports autocorrection: No
- Kind: idiomatic
- Analyzer rule: No
- Minimum Swift compiler version: 5.0.0
- Default configuration:
Key Value min_length Key Value warning 3 error 0 max_length Key Value warning 40 error 1000 excluded [] allowed_symbols [] unallowed_symbols_severity error validates_start_with_lowercase error validate_protocols true
Non Triggering Examples
class MyType {}
private struct _MyType {}
enum AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA {}
typealias Foo = Void
private typealias Foo = Void
protocol Foo {
associatedtype Bar
}
protocol Foo {
associatedtype Bar: Equatable
}
enum MyType {
case value
}
//
// validate_protocols: false
//
protocol P {}
struct SomeStruct {
enum `Type` {
case x, y, z
}
}
Triggering Examples
class ↓myType {}
enum ↓_MyType {}
private struct ↓MyType_ {}
struct ↓My {}
struct ↓AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA {}
class ↓MyView_Previews
private struct ↓_MyView_Previews
typealias ↓X = Void
private typealias ↓Foo_Bar = Void
private typealias ↓foo = Void
typealias ↓AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = Void
protocol Foo {
associatedtype ↓X
}
protocol Foo {
associatedtype ↓Foo_Bar: Equatable
}
protocol Foo {
associatedtype ↓AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
}
protocol ↓X {}