SwiftLint
SwiftLint copied to clipboard
[Rule Request] Superfluous Swift Version Check Rule
New Issue Checklist
- [x] Updated SwiftLint to the latest version
- [x] I searched for existing GitHub issues
New rule request
Similar to deployment_target
, we could have a rule to catch code that is always executed given the current Swift version.
- Why should this rule be added? Share links to existing discussion about what the community thinks about this.
It's common to add #if swift(>=X.Y)
checks during migration periods, but after a certain point, codebases drop old Swift versions, but these checks are rarely cleaned.
This rule would help with that.
- Provide several examples of what would and wouldn't trigger violations.
// triggers if our minimum supported version is 5.3
#if swift(>=4.2)
// do something
#endif
// don't trigger if our current version is 5.3
#if swift(>=5.7)
// do something
#endif
- Should the rule be configurable, if so what parameters should be configurable?
The min Swift version should be configurable (and the default value would be the current Swift version)
- Should the rule be opt-in or enabled by default? Why? See README.md for guidelines on when to mark a rule as opt-in.
Probably opt-in since people need to set the min Swift version properly for it to be useful.