Don't look for safety comments in doc tests #12066
Merged
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.
Fixes #12048.
What happened in the linked issue is that the lint checks for lines that start with
//
and haveSAFETY:
somewhere in it above the function item.This works for regular comments, but when the
//
is the start of a doc comment (e.g./// // SAFETY: ...
) and it's part of a doc test (i.e. within ```), we probably shouldn't lint that, since the user most likely meant to refer to a different node than the one currently being checked. For example in the linked issue, the safety comment refers tounsafe { *five_pointer }
, but the lint believes it's part of the function item.We also can't really easily test whether the
// SAFETY:
comment within a doc comment is necessary or not, since I think that would require creating a new compiler session to re-parse the contents of the doc comment. We already do this for one of the doc markdown lints, to look for a main function in doc tests, but I don't know how to feel about doing that in more places, so probably best to just ignore them?changelog: [
unnecessary_safety_comment
]: don't look for safety comments in doc tests