about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2020-11-07 18:14:38 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2020-11-14 15:56:07 -0500
commit64efcbe0e9e0e2dc02960031e6df4fe7450782ca (patch)
tree77db9d6b4940a2c4e2b83f395580a7739e0e9505 /compiler/rustc_codegen_llvm/src
parentcf9cf7c923eb01146971429044f216a3ca905e06 (diff)
downloadrust-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