Implicit Return

Prefer implicit returns in closures, functions and getters

  • Identifier: implicit_return
  • Enabled by default: No
  • Supports autocorrection: Yes
  • Kind: style
  • Analyzer rule: No
  • Minimum Swift compiler version: 5.0.0
  • Default configuration: severity: warning, included: [closure, function, getter]

Non Triggering Examples

if foo {
  return 0
}
foo.map { $0 + 1 }
foo.map({ $0 + 1 })
foo.map { value in value + 1 }
[1, 2].first(where: {
    true
})
func foo() -> Int {
    0
}
class Foo {
    func foo() -> Int { 0 }
}
func fetch() -> Data? {
    do {
        return try loadData()
    } catch {
        return nil
    }
}
var foo: Bool { true }
class Foo {
    var bar: Int {
        get {
            0
        }
    }
}
class Foo {
    static var bar: Int {
        0
    }
}

Triggering Examples

foo.map { value in
    return value + 1
}
foo.map {
    return $0 + 1
}
foo.map({ return $0 + 1})
[1, 2].first(where: {
    return true
})
func foo() -> Int {
    return 0
}
class Foo {
    func foo() -> Int { return 0 }
}
var foo: Bool { return true }
class Foo {
    var bar: Int {
        get {
            return 0
        }
    }
}
class Foo {
    static var bar: Int {
        return 0
    }
}