realm / SwiftLint

A tool to enforce Swift style and conventions.
https://realm.github.io/SwiftLint
MIT License
18.45k stars 2.2k forks source link

void_function_in_ternary incorrectly triggered with if and switch expressions #5611

Open tristanSIF opened 1 month ago

tristanSIF commented 1 month ago

New Issue Checklist

Describe the bug


func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    switch indexPath.section {
    // Void Function in Ternary Violation: Using ternary to call Void functions should be avoided (void_function_in_ternary)
    case 0: isEditing ? CGSize(width: 150, height: 20) : CGSize(width: 100, height: 20) 
    default: .zero
    }
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    if indexPath.section == 0 {
        // Void Function in Ternary Violation: Using ternary to call Void functions should be avoided (void_function_in_ternary)
        isEditing ? CGSize(width: 150, height: 20) : CGSize(width: 100, height: 20)
    } else {
        .zero
    }
}

### Environment

* SwiftLint version: 0.55.1
* Installation method used:  Homebrew