]> git.lizzy.rs Git - rust.git/commit
suggestion applicabilities for libsyntax and librustc, run-rustfix tests
authorZack M. Davis <code@zackmdavis.net>
Sat, 19 May 2018 21:52:24 +0000 (14:52 -0700)
committerZack M. Davis <code@zackmdavis.net>
Sun, 20 May 2018 21:13:25 +0000 (14:13 -0700)
commit98a04291e4db92ae86d7e3a20b5763cb926ebfbf
treebe6bad72d6042b9d58445f51a0862d7c40c73b3f
parent6bb4aad51f40536447cd7603ab5be7792bab0a3d
suggestion applicabilities for libsyntax and librustc, run-rustfix tests

Consider this a down payment on #50723. To recap, an `Applicability`
enum was recently (#50204) added, to convey to Rustfix and other tools
whether we think it's OK for them to blindly apply the suggestion, or
whether to prompt a human for guidance (because the suggestion might
contain placeholders that we can't infer, or because we think it has a
sufficiently high probability of being wrong even though it's—
presumably—right often enough to be worth emitting in the first place).

When a suggestion is marked as `MaybeIncorrect`, we try to use comments
to indicate precisely why (although there are a few places where we just
say `// speculative` because the present author's subjective judgement
balked at the idea that the suggestion has no false positives).

The `run-rustfix` directive is opporunistically set on some relevant UI
tests (and a couple tests that were in the `test/ui/suggestions`
directory, even if the suggestions didn't originate in librustc or
libsyntax). This is less trivial than it sounds, because a surprising
number of test files aren't equipped to be tested as fixed even when
they contain successfully fixable errors, because, e.g., there are more,
not-directly-related errors after fixing. Some test files need an
attribute or underscore to avoid unused warnings tripping up the "fixed
code is still producing diagnostics" check despite the fixes being
correct; this is an interesting contrast-to/inconsistency-with the
behavior of UI tests (which secretly pass `-A unused`), a behavior which
we probably ought to resolve one way or the other (filed issue #50926).

A few suggestion labels are reworded (e.g., to avoid phrasing it as a
question, which which is discouraged by the style guidelines listed in
`.span_suggestion`'s doc-comment).
33 files changed:
src/librustc/infer/error_reporting/mod.rs
src/librustc/lint/levels.rs
src/librustc/middle/liveness.rs
src/librustc/traits/error_reporting.rs
src/libsyntax/attr.rs
src/libsyntax/ext/expand.rs
src/libsyntax/parse/lexer/mod.rs
src/libsyntax/parse/parser.rs
src/test/ui/extern-const.fixed [new file with mode: 0644]
src/test/ui/extern-const.rs
src/test/ui/extern-const.stderr
src/test/ui/issue-42954.fixed [new file with mode: 0644]
src/test/ui/issue-42954.rs
src/test/ui/issue-42954.stderr
src/test/ui/issue-44406.stderr
src/test/ui/issue-48636.fixed [new file with mode: 0644]
src/test/ui/issue-48636.rs
src/test/ui/issue-48636.stderr
src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.fixed [new file with mode: 0644]
src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.rs
src/test/ui/mismatched_types/closure-arg-count-expected-type-issue-47244.stderr
src/test/ui/repr-align-assign.fixed [new file with mode: 0644]
src/test/ui/repr-align-assign.rs
src/test/ui/repr-align-assign.stderr
src/test/ui/suggestions/issue-32354-suggest-import-rename.fixed [new file with mode: 0644]
src/test/ui/suggestions/issue-32354-suggest-import-rename.rs
src/test/ui/suggestions/issue-32354-suggest-import-rename.stderr
src/test/ui/suggestions/pub-ident-fn-or-struct-2.stderr
src/test/ui/suggestions/pub-ident-fn-or-struct.stderr
src/test/ui/suggestions/pub-ident-fn.fixed [new file with mode: 0644]
src/test/ui/suggestions/pub-ident-fn.rs
src/test/ui/suggestions/pub-ident-fn.stderr
src/test/ui/suggestions/type-ascription-instead-of-statement-end.stderr