diff options
| author | bors <bors@rust-lang.org> | 2022-03-08 10:24:46 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-03-08 10:24:46 +0000 |
| commit | b97dc20784698730bd7bc1a20eabdcd32066d174 (patch) | |
| tree | 411126fa7c5a4a0cd31761dcfadbfefa6fc6174a /compiler/rustc_lint/src | |
| parent | d2710dbb305a4447b889f11918bc5df96084357c (diff) | |
| parent | b879216f079eb5a9f47fab8d59b567859b51fd2c (diff) | |
| download | rust-b97dc20784698730bd7bc1a20eabdcd32066d174.tar.gz rust-b97dc20784698730bd7bc1a20eabdcd32066d174.zip | |
Auto merge of #94734 - matthiaskrgr:rollup-28shqhy, r=matthiaskrgr
Rollup of 8 pull requests
Successful merges:
- #91993 (Tweak output for non-exhaustive `match` expression)
- #92385 (Add Result::{ok, err, and, or, unwrap_or} as const)
- #94559 (Remove argument from closure in thread::Scope::spawn.)
- #94580 (Emit `unused_attributes` if a level attr only has a reason)
- #94586 (Generalize `get_nullable_type` to allow types where null is all-ones.)
- #94708 (diagnostics: only talk about `Cargo.toml` if running under Cargo)
- #94712 (promot debug_assert to assert)
- #94726 (:arrow_up: rust-analyzer)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_lint/src')
| -rw-r--r-- | compiler/rustc_lint/src/levels.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_lint/src/types.rs | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_lint/src/levels.rs b/compiler/rustc_lint/src/levels.rs index f46f74fa45f..bbfbf61f486 100644 --- a/compiler/rustc_lint/src/levels.rs +++ b/compiler/rustc_lint/src/levels.rs @@ -258,7 +258,7 @@ impl<'s> LintLevelsBuilder<'s> { }; if metas.is_empty() { - // FIXME (#55112): issue unused-attributes lint for `#[level()]` + // This emits the unused_attributes lint for `#[level()]` continue; } @@ -271,8 +271,6 @@ impl<'s> LintLevelsBuilder<'s> { ast::MetaItemKind::Word => {} // actual lint names handled later ast::MetaItemKind::NameValue(ref name_value) => { if item.path == sym::reason { - // FIXME (#55112): issue unused-attributes lint if we thereby - // don't have any lint names (`#[level(reason = "foo")]`) if let ast::LitKind::Str(rationale, _) = name_value.kind { if !self.sess.features_untracked().lint_reasons { feature_err( diff --git a/compiler/rustc_lint/src/types.rs b/compiler/rustc_lint/src/types.rs index 0d5e1e7f551..d4dac640cc7 100644 --- a/compiler/rustc_lint/src/types.rs +++ b/compiler/rustc_lint/src/types.rs @@ -795,7 +795,9 @@ crate fn repr_nullable_ptr<'tcx>( let field_ty_abi = &cx.layout_of(field_ty).unwrap().abi; if let Abi::Scalar(field_ty_scalar) = field_ty_abi { match (field_ty_scalar.valid_range.start, field_ty_scalar.valid_range.end) { - (0, _) => unreachable!("Non-null optimisation extended to a non-zero value."), + (0, x) if x == field_ty_scalar.value.size(&cx.tcx).unsigned_int_max() - 1 => { + return Some(get_nullable_type(cx, field_ty).unwrap()); + } (1, _) => { return Some(get_nullable_type(cx, field_ty).unwrap()); } |
