Delete unsafe UseEnumsForNamespacing rule #146
Merged
+0
−352
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While using enums for namespaces is a superior coding practice, this rule lacks sufficient context to safely perform this transformation. It's possible to use extensions in the same file or a different file to add a conformance to a struct which makes it ineligible to become an enum. Unfortunately, the SyntaxVisitor is only able to look at nodes in the AST for a single file and that is too narrow of a scope to verify that the struct can safely be an enum.
Even as a lint rule, this would raise false positives and those false positives cannot be removed. It's best not to convert to a lint rule for that reason.