diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2020-11-07 18:14:38 -0500 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2020-11-14 15:56:07 -0500 |
| commit | 64efcbe0e9e0e2dc02960031e6df4fe7450782ca (patch) | |
| tree | 77db9d6b4940a2c4e2b83f395580a7739e0e9505 /compiler/rustc_codegen_llvm/src | |
| parent | cf9cf7c923eb01146971429044f216a3ca905e06 (diff) | |
| download | rust-64efcbe0e9e0e2dc02960031e6df4fe7450782ca.tar.gz rust-64efcbe0e9e0e2dc02960031e6df4fe7450782ca.zip | |
Use true previous lint level when detecting overriden forbids
Previously, cap-lints was ignored when checking the previous forbid level, which meant that it was a hard error to do so. This is different from the normal behavior of lints, which are silenced by cap-lints; if the forbid would not take effect regardless, there is not much point in complaining about the fact that we are reducing its level. It might be considered a bug that even `--cap-lints deny` would suffice to silence the error on overriding forbid, depending on if one cares about failing the build or precisely forbid being set. But setting cap-lints to deny is quite odd and not really done in practice, so we don't try to handle it specially. This also unifies the code paths for nested and same-level scopes. However, the special case for CLI lint flags is left in place (introduced by #70918) to fix the regression noted in #70819. That means that CLI flags do not lint on forbid being overridden by a non-forbid level. It is unclear whether this is a bug or a desirable feature, but it is certainly inconsistent. CLI flags are a sufficiently different "type" of place though that this is deemed out of scope for this commit.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
