Nesting
Types should be nested at most 1 level deep, and functions should be nested at most 2 levels deep.
- Identifier:
nesting
- Enabled by default: Yes
- Supports autocorrection: No
- Kind: metrics
- Analyzer rule: No
- Minimum Swift compiler version: 5.0.0
- Default configuration:
Key Value type_level Key Value warning 1 function_level Key Value warning 2 check_nesting_in_closures_and_statements true always_allow_one_type_in_functions false ignore_typealiases_and_associatedtypes false
Non Triggering Examples
actor Example_0 {
actor Example_1 {}
}
var example: Int {
actor Example_0 {
actor Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
actor Example_0 {
actor Example_1 {}
}
}
}
extension Example_0 {
actor Example_1 {}
}
class Example_0 {
class Example_1 {}
}
var example: Int {
class Example_0 {
class Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
class Example_0 {
class Example_1 {}
}
}
}
extension Example_0 {
class Example_1 {}
}
struct Example_0 {
struct Example_1 {}
}
var example: Int {
struct Example_0 {
struct Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
struct Example_0 {
struct Example_1 {}
}
}
}
extension Example_0 {
struct Example_1 {}
}
enum Example_0 {
enum Example_1 {}
}
var example: Int {
enum Example_0 {
enum Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
enum Example_0 {
enum Example_1 {}
}
}
}
extension Example_0 {
enum Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
var example: Int {
func f_0() {
func f_1() {
func f_2() {}
}
}
return 5
}
var example: Int = 5 {
didSet {
func f_0() {
func f_1() {
func f_2() {}
}
}
}
}
extension Example_0 {
func f_0() {
func f_1() {
func f_2() {}
}
}
}
switch example {
case .exampleCase:
actor Example_0 {
actor Example_1 {}
}
default:
func f_0() {
func f_1() {
func f_2() {}
}
}
}
var exampleClosure: () -> Void = {
actor Example_0 {
actor Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
}
exampleFunc(closure: {
actor Example_0 {
actor Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
})
switch example {
case .exampleCase:
class Example_0 {
class Example_1 {}
}
default:
func f_0() {
func f_1() {
func f_2() {}
}
}
}
var exampleClosure: () -> Void = {
class Example_0 {
class Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
}
exampleFunc(closure: {
class Example_0 {
class Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
})
switch example {
case .exampleCase:
struct Example_0 {
struct Example_1 {}
}
default:
func f_0() {
func f_1() {
func f_2() {}
}
}
}
var exampleClosure: () -> Void = {
struct Example_0 {
struct Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
}
exampleFunc(closure: {
struct Example_0 {
struct Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
})
switch example {
case .exampleCase:
enum Example_0 {
enum Example_1 {}
}
default:
func f_0() {
func f_1() {
func f_2() {}
}
}
}
var exampleClosure: () -> Void = {
enum Example_0 {
enum Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
}
exampleFunc(closure: {
enum Example_0 {
enum Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {}
}
}
})
actor Example_0 {
protocol Example_1 {}
}
var example: Int {
actor Example_0 {
protocol Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
actor Example_0 {
protocol Example_1 {}
}
}
}
extension Example_0 {
protocol Example_1 {}
}
class Example_0 {
protocol Example_1 {}
}
var example: Int {
class Example_0 {
protocol Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
class Example_0 {
protocol Example_1 {}
}
}
}
extension Example_0 {
protocol Example_1 {}
}
struct Example_0 {
protocol Example_1 {}
}
var example: Int {
struct Example_0 {
protocol Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
struct Example_0 {
protocol Example_1 {}
}
}
}
extension Example_0 {
protocol Example_1 {}
}
enum Example_0 {
protocol Example_1 {}
}
var example: Int {
enum Example_0 {
protocol Example_1 {}
}
return 5
}
var example: Int = 5 {
didSet {
enum Example_0 {
protocol Example_1 {}
}
}
}
extension Example_0 {
protocol Example_1 {}
}
actor Example_0 {
func f_0() {
actor Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
}
}
actor Example_0 {
func f_0() {
switch example {
case .exampleCase:
actor Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
default:
exampleFunc(closure: {
actor Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
})
}
}
}
class Example_0 {
func f_0() {
class Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
}
}
class Example_0 {
func f_0() {
switch example {
case .exampleCase:
class Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
default:
exampleFunc(closure: {
class Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
})
}
}
}
struct Example_0 {
func f_0() {
struct Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
}
}
struct Example_0 {
func f_0() {
switch example {
case .exampleCase:
struct Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
default:
exampleFunc(closure: {
struct Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
})
}
}
}
enum Example_0 {
func f_0() {
enum Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
}
}
enum Example_0 {
func f_0() {
switch example {
case .exampleCase:
enum Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
default:
exampleFunc(closure: {
enum Example_1 {
func f_1() {
func f_2() {}
}
}
protocol P {}
})
}
}
}
Triggering Examples
actor Example_0 {
actor Example_1 {
↓actor Example_2 {}
}
}
var example: Int {
actor Example_0 {
actor Example_1 {
↓actor Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
actor Example_0 {
actor Example_1 {
↓actor Example_2 {}
}
}
}
}
extension Example_0 {
actor Example_1 {
↓actor Example_2 {}
}
}
class Example_0 {
class Example_1 {
↓class Example_2 {}
}
}
var example: Int {
class Example_0 {
class Example_1 {
↓class Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
class Example_0 {
class Example_1 {
↓class Example_2 {}
}
}
}
}
extension Example_0 {
class Example_1 {
↓class Example_2 {}
}
}
struct Example_0 {
struct Example_1 {
↓struct Example_2 {}
}
}
var example: Int {
struct Example_0 {
struct Example_1 {
↓struct Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
struct Example_0 {
struct Example_1 {
↓struct Example_2 {}
}
}
}
}
extension Example_0 {
struct Example_1 {
↓struct Example_2 {}
}
}
enum Example_0 {
enum Example_1 {
↓enum Example_2 {}
}
}
var example: Int {
enum Example_0 {
enum Example_1 {
↓enum Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
enum Example_0 {
enum Example_1 {
↓enum Example_2 {}
}
}
}
}
extension Example_0 {
enum Example_1 {
↓enum Example_2 {}
}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
var example: Int {
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
return 5
}
var example: Int = 5 {
didSet {
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
}
extension Example_0 {
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
switch example {
case .exampleCase:
actor Example_0 {
actor Example_1 {
↓actor Example_2 {}
}
}
default:
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
var exampleClosure: () -> Void = {
actor Example_0 {
actor Example_1 {
↓actor Example_2 {}
}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
exampleFunc(closure: {
actor Example_0 {
actor Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
})
switch example {
case .exampleCase:
class Example_0 {
class Example_1 {
↓class Example_2 {}
}
}
default:
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
var exampleClosure: () -> Void = {
class Example_0 {
class Example_1 {
↓class Example_2 {}
}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
exampleFunc(closure: {
class Example_0 {
class Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
})
switch example {
case .exampleCase:
struct Example_0 {
struct Example_1 {
↓struct Example_2 {}
}
}
default:
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
var exampleClosure: () -> Void = {
struct Example_0 {
struct Example_1 {
↓struct Example_2 {}
}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
exampleFunc(closure: {
struct Example_0 {
struct Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
})
switch example {
case .exampleCase:
enum Example_0 {
enum Example_1 {
↓enum Example_2 {}
}
}
default:
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
var exampleClosure: () -> Void = {
enum Example_0 {
enum Example_1 {
↓enum Example_2 {}
}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
}
exampleFunc(closure: {
enum Example_0 {
enum Example_1 {}
}
func f_0() {
func f_1() {
func f_2() {
↓func f_3() {}
}
}
}
})
actor Example_0 {
actor Example_1 {
↓protocol Example_2 {}
}
}
var example: Int {
actor Example_0 {
actor Example_1 {
↓protocol Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
actor Example_0 {
actor Example_1 {
↓protocol Example_2 {}
}
}
}
}
extension Example_0 {
actor Example_1 {
↓protocol Example_2 {}
}
}
class Example_0 {
class Example_1 {
↓protocol Example_2 {}
}
}
var example: Int {
class Example_0 {
class Example_1 {
↓protocol Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
class Example_0 {
class Example_1 {
↓protocol Example_2 {}
}
}
}
}
extension Example_0 {
class Example_1 {
↓protocol Example_2 {}
}
}
struct Example_0 {
struct Example_1 {
↓protocol Example_2 {}
}
}
var example: Int {
struct Example_0 {
struct Example_1 {
↓protocol Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
struct Example_0 {
struct Example_1 {
↓protocol Example_2 {}
}
}
}
}
extension Example_0 {
struct Example_1 {
↓protocol Example_2 {}
}
}
enum Example_0 {
enum Example_1 {
↓protocol Example_2 {}
}
}
var example: Int {
enum Example_0 {
enum Example_1 {
↓protocol Example_2 {}
}
}
return 5
}
var example: Int = 5 {
didSet {
enum Example_0 {
enum Example_1 {
↓protocol Example_2 {}
}
}
}
}
extension Example_0 {
enum Example_1 {
↓protocol Example_2 {}
}
}
actor Example_0 {
func f_0() {
actor Example_1 {
func f_1() {
func f_2() {
↓actor Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
}
}
actor Example_0 {
func f_0() {
switch example {
case .exampleCase:
actor Example_1 {
func f_1() {
func f_2() {
↓actor Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
default:
exampleFunc(closure: {
actor Example_1 {
func f_1() {
func f_2() {
↓actor Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
})
}
}
}
class Example_0 {
func f_0() {
class Example_1 {
func f_1() {
func f_2() {
↓class Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
}
}
class Example_0 {
func f_0() {
switch example {
case .exampleCase:
class Example_1 {
func f_1() {
func f_2() {
↓class Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
default:
exampleFunc(closure: {
class Example_1 {
func f_1() {
func f_2() {
↓class Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
})
}
}
}
struct Example_0 {
func f_0() {
struct Example_1 {
func f_1() {
func f_2() {
↓struct Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
}
}
struct Example_0 {
func f_0() {
switch example {
case .exampleCase:
struct Example_1 {
func f_1() {
func f_2() {
↓struct Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
default:
exampleFunc(closure: {
struct Example_1 {
func f_1() {
func f_2() {
↓struct Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
})
}
}
}
enum Example_0 {
func f_0() {
enum Example_1 {
func f_1() {
func f_2() {
↓enum Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
}
}
enum Example_0 {
func f_0() {
switch example {
case .exampleCase:
enum Example_1 {
func f_1() {
func f_2() {
↓enum Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
default:
exampleFunc(closure: {
enum Example_1 {
func f_1() {
func f_2() {
↓enum Example_2 {}
↓func f_3() {}
↓protocol P {}
}
}
}
})
}
}
}