1
Fork 0

Auto merge of #119421 - matthiaskrgr:rollup-dbera1b, r=matthiaskrgr

Rollup of 5 pull requests

Successful merges:

 - #119322 (Couple of random coroutine pass simplifications)
 - #119374 (Italicise "bytes" in the docs of some `Vec` methods)
 - #119388 (rustc_lint: Prevent triplication of various lints)
 - #119406 (Add non-regression test for ATPIT ICE #114325)
 - #119410 (Rename test to be more descriptive)

r? `@ghost`
`@rustbot` modify labels: rollup
This commit is contained in:
bors 2023-12-30 01:44:41 +00:00
commit 03b50195ab
43 changed files with 142 additions and 696 deletions

View file

@ -8,8 +8,8 @@ Example of erroneous code:
#[allow(non_snake_case)] #[allow(non_snake_case)]
fn main() { fn main() {
let MyNumber = 2; // error: allow(non_snake_case) overruled by outer // error: allow(non_snake_case) incompatible with previous forbid
// forbid(non_snake_case) let MyNumber = 2;
} }
``` ```

View file

@ -1069,7 +1069,7 @@ impl<'a> EarlyContext<'a> {
pub(crate) fn new( pub(crate) fn new(
sess: &'a Session, sess: &'a Session,
features: &'a Features, features: &'a Features,
warn_about_weird_lints: bool, lint_added_lints: bool,
lint_store: &'a LintStore, lint_store: &'a LintStore,
registered_tools: &'a RegisteredTools, registered_tools: &'a RegisteredTools,
buffered: LintBuffer, buffered: LintBuffer,
@ -1078,7 +1078,7 @@ impl<'a> EarlyContext<'a> {
builder: LintLevelsBuilder::new( builder: LintLevelsBuilder::new(
sess, sess,
features, features,
warn_about_weird_lints, lint_added_lints,
lint_store, lint_store,
registered_tools, registered_tools,
), ),

View file

@ -135,7 +135,7 @@ fn lint_expectations(tcx: TyCtxt<'_>, (): ()) -> Vec<(LintExpectationId, LintExp
unstable_to_stable_ids: FxHashMap::default(), unstable_to_stable_ids: FxHashMap::default(),
empty: FxHashMap::default(), empty: FxHashMap::default(),
}, },
warn_about_weird_lints: false, lint_added_lints: false,
store, store,
registered_tools: tcx.registered_tools(()), registered_tools: tcx.registered_tools(()),
}; };
@ -164,7 +164,7 @@ fn shallow_lint_levels_on(tcx: TyCtxt<'_>, owner: hir::OwnerId) -> ShallowLintLe
empty: FxHashMap::default(), empty: FxHashMap::default(),
attrs, attrs,
}, },
warn_about_weird_lints: false, lint_added_lints: false,
store, store,
registered_tools: tcx.registered_tools(()), registered_tools: tcx.registered_tools(()),
}; };
@ -451,7 +451,7 @@ pub struct LintLevelsBuilder<'s, P> {
sess: &'s Session, sess: &'s Session,
features: &'s Features, features: &'s Features,
provider: P, provider: P,
warn_about_weird_lints: bool, lint_added_lints: bool,
store: &'s LintStore, store: &'s LintStore,
registered_tools: &'s RegisteredTools, registered_tools: &'s RegisteredTools,
} }
@ -464,7 +464,7 @@ impl<'s> LintLevelsBuilder<'s, TopDown> {
pub(crate) fn new( pub(crate) fn new(
sess: &'s Session, sess: &'s Session,
features: &'s Features, features: &'s Features,
warn_about_weird_lints: bool, lint_added_lints: bool,
store: &'s LintStore, store: &'s LintStore,
registered_tools: &'s RegisteredTools, registered_tools: &'s RegisteredTools,
) -> Self { ) -> Self {
@ -472,7 +472,7 @@ impl<'s> LintLevelsBuilder<'s, TopDown> {
sess, sess,
features, features,
provider: TopDown { sets: LintLevelSets::new(), cur: COMMAND_LINE }, provider: TopDown { sets: LintLevelSets::new(), cur: COMMAND_LINE },
warn_about_weird_lints, lint_added_lints,
store, store,
registered_tools, registered_tools,
}; };
@ -642,7 +642,7 @@ impl<'s, P: LintLevelsProvider> LintLevelsBuilder<'s, P> {
// //
// This means that this only errors if we're truly lowering the lint // This means that this only errors if we're truly lowering the lint
// level from forbid. // level from forbid.
if level != Level::Forbid { if self.lint_added_lints && level != Level::Forbid {
if let Level::Forbid = old_level { if let Level::Forbid = old_level {
// Backwards compatibility check: // Backwards compatibility check:
// //
@ -968,7 +968,7 @@ impl<'s, P: LintLevelsProvider> LintLevelsBuilder<'s, P> {
continue; continue;
} }
_ if !self.warn_about_weird_lints => {} _ if !self.lint_added_lints => {}
CheckLintNameResult::Renamed(ref replace) => { CheckLintNameResult::Renamed(ref replace) => {
let suggestion = let suggestion =
@ -1029,7 +1029,7 @@ impl<'s, P: LintLevelsProvider> LintLevelsBuilder<'s, P> {
} }
} }
if !is_crate_node { if self.lint_added_lints && !is_crate_node {
for (id, &(level, ref src)) in self.current_specs().iter() { for (id, &(level, ref src)) in self.current_specs().iter() {
if !id.lint.crate_level_only { if !id.lint.crate_level_only {
continue; continue;
@ -1054,33 +1054,33 @@ impl<'s, P: LintLevelsProvider> LintLevelsBuilder<'s, P> {
/// Checks if the lint is gated on a feature that is not enabled. /// Checks if the lint is gated on a feature that is not enabled.
/// ///
/// Returns `true` if the lint's feature is enabled. /// Returns `true` if the lint's feature is enabled.
// FIXME only emit this once for each attribute, instead of repeating it 4 times for
// pre-expansion lints, post-expansion lints, `shallow_lint_levels_on` and `lint_expectations`.
#[track_caller] #[track_caller]
fn check_gated_lint(&self, lint_id: LintId, span: Span, lint_from_cli: bool) -> bool { fn check_gated_lint(&self, lint_id: LintId, span: Span, lint_from_cli: bool) -> bool {
if let Some(feature) = lint_id.lint.feature_gate { if let Some(feature) = lint_id.lint.feature_gate {
if !self.features.active(feature) { if !self.features.active(feature) {
let lint = builtin::UNKNOWN_LINTS; if self.lint_added_lints {
let (level, src) = self.lint_level(builtin::UNKNOWN_LINTS); let lint = builtin::UNKNOWN_LINTS;
struct_lint_level( let (level, src) = self.lint_level(builtin::UNKNOWN_LINTS);
self.sess, struct_lint_level(
lint, self.sess,
level, lint,
src, level,
Some(span.into()), src,
fluent::lint_unknown_gated_lint, Some(span.into()),
|lint| { fluent::lint_unknown_gated_lint,
lint.set_arg("name", lint_id.lint.name_lower()); |lint| {
lint.note(fluent::lint_note); lint.set_arg("name", lint_id.lint.name_lower());
rustc_session::parse::add_feature_diagnostics_for_issue( lint.note(fluent::lint_note);
lint, rustc_session::parse::add_feature_diagnostics_for_issue(
&self.sess.parse_sess, lint,
feature, &self.sess.parse_sess,
GateIssue::Language, feature,
lint_from_cli, GateIssue::Language,
); lint_from_cli,
}, );
); },
);
}
return false; return false;
} }
} }

View file

@ -1417,20 +1417,18 @@ fn create_coroutine_resume_function<'tcx>(
cases.insert(0, (UNRESUMED, START_BLOCK)); cases.insert(0, (UNRESUMED, START_BLOCK));
// Panic when resumed on the returned or poisoned state // Panic when resumed on the returned or poisoned state
let coroutine_kind = body.coroutine_kind().unwrap();
if can_unwind { if can_unwind {
cases.insert( cases.insert(
1, 1,
(POISONED, insert_panic_block(tcx, body, ResumedAfterPanic(coroutine_kind))), (POISONED, insert_panic_block(tcx, body, ResumedAfterPanic(transform.coroutine_kind))),
); );
} }
if can_return { if can_return {
let block = match coroutine_kind { let block = match transform.coroutine_kind {
CoroutineKind::Desugared(CoroutineDesugaring::Async, _) CoroutineKind::Desugared(CoroutineDesugaring::Async, _)
| CoroutineKind::Coroutine(_) => { | CoroutineKind::Coroutine(_) => {
insert_panic_block(tcx, body, ResumedAfterReturn(coroutine_kind)) insert_panic_block(tcx, body, ResumedAfterReturn(transform.coroutine_kind))
} }
CoroutineKind::Desugared(CoroutineDesugaring::AsyncGen, _) CoroutineKind::Desugared(CoroutineDesugaring::AsyncGen, _)
| CoroutineKind::Desugared(CoroutineDesugaring::Gen, _) => { | CoroutineKind::Desugared(CoroutineDesugaring::Gen, _) => {
@ -1444,7 +1442,7 @@ fn create_coroutine_resume_function<'tcx>(
make_coroutine_state_argument_indirect(tcx, body); make_coroutine_state_argument_indirect(tcx, body);
match coroutine_kind { match transform.coroutine_kind {
// Iterator::next doesn't accept a pinned argument, // Iterator::next doesn't accept a pinned argument,
// unlike for all other coroutine kinds. // unlike for all other coroutine kinds.
CoroutineKind::Desugared(CoroutineDesugaring::Gen, _) => {} CoroutineKind::Desugared(CoroutineDesugaring::Gen, _) => {}
@ -1614,12 +1612,6 @@ impl<'tcx> MirPass<'tcx> for StateTransform {
} }
}; };
let is_async_kind =
matches!(coroutine_kind, CoroutineKind::Desugared(CoroutineDesugaring::Async, _));
let is_async_gen_kind =
matches!(coroutine_kind, CoroutineKind::Desugared(CoroutineDesugaring::AsyncGen, _));
let is_gen_kind =
matches!(coroutine_kind, CoroutineKind::Desugared(CoroutineDesugaring::Gen, _));
let new_ret_ty = match coroutine_kind { let new_ret_ty = match coroutine_kind {
CoroutineKind::Desugared(CoroutineDesugaring::Async, _) => { CoroutineKind::Desugared(CoroutineDesugaring::Async, _) => {
// Compute Poll<return_ty> // Compute Poll<return_ty>
@ -1653,7 +1645,10 @@ impl<'tcx> MirPass<'tcx> for StateTransform {
let old_ret_local = replace_local(RETURN_PLACE, new_ret_ty, body, tcx); let old_ret_local = replace_local(RETURN_PLACE, new_ret_ty, body, tcx);
// Replace all occurrences of `ResumeTy` with `&mut Context<'_>` within async bodies. // Replace all occurrences of `ResumeTy` with `&mut Context<'_>` within async bodies.
if is_async_kind || is_async_gen_kind { if matches!(
coroutine_kind,
CoroutineKind::Desugared(CoroutineDesugaring::Async | CoroutineDesugaring::AsyncGen, _)
) {
transform_async_context(tcx, body); transform_async_context(tcx, body);
} }
@ -1662,11 +1657,7 @@ impl<'tcx> MirPass<'tcx> for StateTransform {
// case there is no `Assign` to it that the transform can turn into a store to the coroutine // case there is no `Assign` to it that the transform can turn into a store to the coroutine
// state. After the yield the slot in the coroutine state would then be uninitialized. // state. After the yield the slot in the coroutine state would then be uninitialized.
let resume_local = Local::new(2); let resume_local = Local::new(2);
let resume_ty = if is_async_kind { let resume_ty = body.local_decls[resume_local].ty;
Ty::new_task_context(tcx)
} else {
body.local_decls[resume_local].ty
};
let old_resume_local = replace_local(resume_local, resume_ty, body, tcx); let old_resume_local = replace_local(resume_local, resume_ty, body, tcx);
// When first entering the coroutine, move the resume argument into its old local // When first entering the coroutine, move the resume argument into its old local
@ -1709,11 +1700,11 @@ impl<'tcx> MirPass<'tcx> for StateTransform {
// Run the transformation which converts Places from Local to coroutine struct // Run the transformation which converts Places from Local to coroutine struct
// accesses for locals in `remap`. // accesses for locals in `remap`.
// It also rewrites `return x` and `yield y` as writing a new coroutine state and returning // It also rewrites `return x` and `yield y` as writing a new coroutine state and returning
// either CoroutineState::Complete(x) and CoroutineState::Yielded(y), // either `CoroutineState::Complete(x)` and `CoroutineState::Yielded(y)`,
// or Poll::Ready(x) and Poll::Pending respectively depending on `is_async_kind`. // or `Poll::Ready(x)` and `Poll::Pending` respectively depending on the coroutine kind.
let mut transform = TransformVisitor { let mut transform = TransformVisitor {
tcx, tcx,
coroutine_kind: body.coroutine_kind().unwrap(), coroutine_kind,
remap, remap,
storage_liveness, storage_liveness,
always_live_locals, always_live_locals,
@ -1730,7 +1721,7 @@ impl<'tcx> MirPass<'tcx> for StateTransform {
body.spread_arg = None; body.spread_arg = None;
// Remove the context argument within generator bodies. // Remove the context argument within generator bodies.
if is_gen_kind { if matches!(coroutine_kind, CoroutineKind::Desugared(CoroutineDesugaring::Gen, _)) {
transform_gen_context(tcx, body); transform_gen_context(tcx, body);
} }

View file

@ -284,7 +284,7 @@ impl<T, A: Allocator> RawVec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Aborts /// # Aborts
/// ///
@ -342,7 +342,7 @@ impl<T, A: Allocator> RawVec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Aborts /// # Aborts
/// ///

View file

@ -445,7 +445,7 @@ impl<T> Vec<T> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Examples /// # Examples
/// ///
@ -633,7 +633,7 @@ impl<T, A: Allocator> Vec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Examples /// # Examples
/// ///
@ -896,7 +896,7 @@ impl<T, A: Allocator> Vec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Examples /// # Examples
/// ///
@ -926,7 +926,7 @@ impl<T, A: Allocator> Vec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Examples /// # Examples
/// ///
@ -1900,7 +1900,7 @@ impl<T, A: Allocator> Vec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Examples /// # Examples
/// ///
@ -2003,7 +2003,7 @@ impl<T, A: Allocator> Vec<T, A> {
/// ///
/// # Panics /// # Panics
/// ///
/// Panics if the new capacity exceeds `isize::MAX` bytes. /// Panics if the new capacity exceeds `isize::MAX` _bytes_.
/// ///
/// # Examples /// # Examples
/// ///

View file

@ -2,6 +2,5 @@
#[allow(non_snake_case)] #[allow(non_snake_case)]
//~^ ERROR allow(non_snake_case) incompatible //~^ ERROR allow(non_snake_case) incompatible
//~| ERROR allow(non_snake_case) incompatible
fn main() { fn main() {
} }

View file

@ -7,17 +7,6 @@ LL |
LL | #[allow(non_snake_case)] LL | #[allow(non_snake_case)]
| ^^^^^^^^^^^^^^ overruled by previous forbid | ^^^^^^^^^^^^^^ overruled by previous forbid
error[E0453]: allow(non_snake_case) incompatible with previous forbid error: aborting due to 1 previous error
--> $DIR/E0453.rs:3:9
|
LL | #![forbid(non_snake_case)]
| -------------- `forbid` level set here
LL |
LL | #[allow(non_snake_case)]
| ^^^^^^^^^^^^^^ overruled by previous forbid
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0453`. For more information about this error, try `rustc --explain E0453`.

View file

@ -2,11 +2,7 @@
#![deny(multiple_supertrait_upcastable)] #![deny(multiple_supertrait_upcastable)]
//~^ WARNING unknown lint: `multiple_supertrait_upcastable` //~^ WARNING unknown lint: `multiple_supertrait_upcastable`
//~| WARNING unknown lint: `multiple_supertrait_upcastable`
//~| WARNING unknown lint: `multiple_supertrait_upcastable`
#![warn(multiple_supertrait_upcastable)] #![warn(multiple_supertrait_upcastable)]
//~^ WARNING unknown lint: `multiple_supertrait_upcastable` //~^ WARNING unknown lint: `multiple_supertrait_upcastable`
//~| WARNING unknown lint: `multiple_supertrait_upcastable`
//~| WARNING unknown lint: `multiple_supertrait_upcastable`
fn main() {} fn main() {}

View file

@ -9,7 +9,7 @@ LL | #![deny(multiple_supertrait_upcastable)]
= note: `#[warn(unknown_lints)]` on by default = note: `#[warn(unknown_lints)]` on by default
warning: unknown lint: `multiple_supertrait_upcastable` warning: unknown lint: `multiple_supertrait_upcastable`
--> $DIR/feature-gate-multiple_supertrait_upcastable.rs:7:1 --> $DIR/feature-gate-multiple_supertrait_upcastable.rs:5:1
| |
LL | #![warn(multiple_supertrait_upcastable)] LL | #![warn(multiple_supertrait_upcastable)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -17,45 +17,5 @@ LL | #![warn(multiple_supertrait_upcastable)]
= note: the `multiple_supertrait_upcastable` lint is unstable = note: the `multiple_supertrait_upcastable` lint is unstable
= help: add `#![feature(multiple_supertrait_upcastable)]` to the crate attributes to enable = help: add `#![feature(multiple_supertrait_upcastable)]` to the crate attributes to enable
warning: unknown lint: `multiple_supertrait_upcastable` warning: 2 warnings emitted
--> $DIR/feature-gate-multiple_supertrait_upcastable.rs:3:1
|
LL | #![deny(multiple_supertrait_upcastable)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `multiple_supertrait_upcastable` lint is unstable
= help: add `#![feature(multiple_supertrait_upcastable)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `multiple_supertrait_upcastable`
--> $DIR/feature-gate-multiple_supertrait_upcastable.rs:7:1
|
LL | #![warn(multiple_supertrait_upcastable)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `multiple_supertrait_upcastable` lint is unstable
= help: add `#![feature(multiple_supertrait_upcastable)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `multiple_supertrait_upcastable`
--> $DIR/feature-gate-multiple_supertrait_upcastable.rs:3:1
|
LL | #![deny(multiple_supertrait_upcastable)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `multiple_supertrait_upcastable` lint is unstable
= help: add `#![feature(multiple_supertrait_upcastable)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `multiple_supertrait_upcastable`
--> $DIR/feature-gate-multiple_supertrait_upcastable.rs:7:1
|
LL | #![warn(multiple_supertrait_upcastable)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `multiple_supertrait_upcastable` lint is unstable
= help: add `#![feature(multiple_supertrait_upcastable)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 6 warnings emitted

View file

@ -2,12 +2,8 @@
#![deny(non_exhaustive_omitted_patterns)] #![deny(non_exhaustive_omitted_patterns)]
//~^ WARNING unknown lint: `non_exhaustive_omitted_patterns` //~^ WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
#![allow(non_exhaustive_omitted_patterns)] #![allow(non_exhaustive_omitted_patterns)]
//~^ WARNING unknown lint: `non_exhaustive_omitted_patterns` //~^ WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
fn main() { fn main() {
enum Foo { enum Foo {
@ -19,9 +15,6 @@ fn main() {
#[allow(non_exhaustive_omitted_patterns)] #[allow(non_exhaustive_omitted_patterns)]
//~^ WARNING unknown lint: `non_exhaustive_omitted_patterns` //~^ WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns` //~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
match Foo::A { match Foo::A {
//~^ ERROR non-exhaustive patterns: `Foo::C` not covered //~^ ERROR non-exhaustive patterns: `Foo::C` not covered
Foo::A => {} Foo::A => {}
@ -31,9 +24,6 @@ fn main() {
#[warn(non_exhaustive_omitted_patterns)] #[warn(non_exhaustive_omitted_patterns)]
//~^ WARNING unknown lint: `non_exhaustive_omitted_patterns` //~^ WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns` //~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
//~| WARNING unknown lint: `non_exhaustive_omitted_patterns`
match Foo::A { match Foo::A {
Foo::A => {} Foo::A => {}
Foo::B => {} Foo::B => {}

View file

@ -10,7 +10,7 @@ LL | #![deny(non_exhaustive_omitted_patterns)]
= note: `#[warn(unknown_lints)]` on by default = note: `#[warn(unknown_lints)]` on by default
warning: unknown lint: `non_exhaustive_omitted_patterns` warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:7:1 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:5:1
| |
LL | #![allow(non_exhaustive_omitted_patterns)] LL | #![allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -20,7 +20,7 @@ LL | #![allow(non_exhaustive_omitted_patterns)]
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable = help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
warning: unknown lint: `non_exhaustive_omitted_patterns` warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:19:5 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:15:5
| |
LL | #[allow(non_exhaustive_omitted_patterns)] LL | #[allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -30,7 +30,7 @@ LL | #[allow(non_exhaustive_omitted_patterns)]
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable = help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
warning: unknown lint: `non_exhaustive_omitted_patterns` warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:19:5 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:15:5
| |
LL | #[allow(non_exhaustive_omitted_patterns)] LL | #[allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -41,7 +41,7 @@ LL | #[allow(non_exhaustive_omitted_patterns)]
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns` warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:31:5 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:24:5
| |
LL | #[warn(non_exhaustive_omitted_patterns)] LL | #[warn(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -51,73 +51,7 @@ LL | #[warn(non_exhaustive_omitted_patterns)]
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable = help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
warning: unknown lint: `non_exhaustive_omitted_patterns` warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:31:5 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:24:5
|
LL | #[warn(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:3:1
|
LL | #![deny(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:7:1
|
LL | #![allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:19:5
|
LL | #[allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:19:5
|
LL | #[allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:31:5
|
LL | #[warn(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:31:5
| |
LL | #[warn(non_exhaustive_omitted_patterns)] LL | #[warn(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -128,13 +62,13 @@ LL | #[warn(non_exhaustive_omitted_patterns)]
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error[E0004]: non-exhaustive patterns: `Foo::C` not covered error[E0004]: non-exhaustive patterns: `Foo::C` not covered
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:25:11 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:18:11
| |
LL | match Foo::A { LL | match Foo::A {
| ^^^^^^ pattern `Foo::C` not covered | ^^^^^^ pattern `Foo::C` not covered
| |
note: `Foo` defined here note: `Foo` defined here
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:13:10 --> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:9:10
| |
LL | enum Foo { LL | enum Foo {
| ^^^ | ^^^
@ -148,50 +82,6 @@ LL ~ Foo::B => {},
LL + Foo::C => todo!() LL + Foo::C => todo!()
| |
warning: unknown lint: `non_exhaustive_omitted_patterns` error: aborting due to 1 previous error; 6 warnings emitted
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:3:1
|
LL | #![deny(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:7:1
|
LL | #![allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:19:5
|
LL | #[allow(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `non_exhaustive_omitted_patterns`
--> $DIR/feature-gate-non_exhaustive_omitted_patterns_lint.rs:31:5
|
LL | #[warn(non_exhaustive_omitted_patterns)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `non_exhaustive_omitted_patterns` lint is unstable
= note: see issue #89554 <https://github.com/rust-lang/rust/issues/89554> for more information
= help: add `#![feature(non_exhaustive_omitted_patterns_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 1 previous error; 16 warnings emitted
For more information about this error, try `rustc --explain E0004`. For more information about this error, try `rustc --explain E0004`.

View file

@ -2,12 +2,8 @@
#![deny(fuzzy_provenance_casts)] #![deny(fuzzy_provenance_casts)]
//~^ WARNING unknown lint: `fuzzy_provenance_casts` //~^ WARNING unknown lint: `fuzzy_provenance_casts`
//~| WARNING unknown lint: `fuzzy_provenance_casts`
//~| WARNING unknown lint: `fuzzy_provenance_casts`
#![deny(lossy_provenance_casts)] #![deny(lossy_provenance_casts)]
//~^ WARNING unknown lint: `lossy_provenance_casts` //~^ WARNING unknown lint: `lossy_provenance_casts`
//~| WARNING unknown lint: `lossy_provenance_casts`
//~| WARNING unknown lint: `lossy_provenance_casts`
fn main() { fn main() {
// no warnings emitted since the lints are not activated // no warnings emitted since the lints are not activated

View file

@ -10,7 +10,7 @@ LL | #![deny(fuzzy_provenance_casts)]
= note: `#[warn(unknown_lints)]` on by default = note: `#[warn(unknown_lints)]` on by default
warning: unknown lint: `lossy_provenance_casts` warning: unknown lint: `lossy_provenance_casts`
--> $DIR/feature-gate-strict_provenance.rs:7:1 --> $DIR/feature-gate-strict_provenance.rs:5:1
| |
LL | #![deny(lossy_provenance_casts)] LL | #![deny(lossy_provenance_casts)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -19,49 +19,5 @@ LL | #![deny(lossy_provenance_casts)]
= note: see issue #95228 <https://github.com/rust-lang/rust/issues/95228> for more information = note: see issue #95228 <https://github.com/rust-lang/rust/issues/95228> for more information
= help: add `#![feature(strict_provenance)]` to the crate attributes to enable = help: add `#![feature(strict_provenance)]` to the crate attributes to enable
warning: unknown lint: `fuzzy_provenance_casts` warning: 2 warnings emitted
--> $DIR/feature-gate-strict_provenance.rs:3:1
|
LL | #![deny(fuzzy_provenance_casts)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `fuzzy_provenance_casts` lint is unstable
= note: see issue #95228 <https://github.com/rust-lang/rust/issues/95228> for more information
= help: add `#![feature(strict_provenance)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `lossy_provenance_casts`
--> $DIR/feature-gate-strict_provenance.rs:7:1
|
LL | #![deny(lossy_provenance_casts)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `lossy_provenance_casts` lint is unstable
= note: see issue #95228 <https://github.com/rust-lang/rust/issues/95228> for more information
= help: add `#![feature(strict_provenance)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `fuzzy_provenance_casts`
--> $DIR/feature-gate-strict_provenance.rs:3:1
|
LL | #![deny(fuzzy_provenance_casts)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `fuzzy_provenance_casts` lint is unstable
= note: see issue #95228 <https://github.com/rust-lang/rust/issues/95228> for more information
= help: add `#![feature(strict_provenance)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `lossy_provenance_casts`
--> $DIR/feature-gate-strict_provenance.rs:7:1
|
LL | #![deny(lossy_provenance_casts)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `lossy_provenance_casts` lint is unstable
= note: see issue #95228 <https://github.com/rust-lang/rust/issues/95228> for more information
= help: add `#![feature(strict_provenance)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 6 warnings emitted

View file

@ -3,7 +3,5 @@
// `test_unstable_lint` is for testing and should never be stabilized. // `test_unstable_lint` is for testing and should never be stabilized.
#![allow(test_unstable_lint)] #![allow(test_unstable_lint)]
//~^ WARNING unknown lint: `test_unstable_lint` //~^ WARNING unknown lint: `test_unstable_lint`
//~| WARNING unknown lint: `test_unstable_lint`
//~| WARNING unknown lint: `test_unstable_lint`
fn main() {} fn main() {}

View file

@ -8,25 +8,5 @@ LL | #![allow(test_unstable_lint)]
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable = help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: `#[warn(unknown_lints)]` on by default = note: `#[warn(unknown_lints)]` on by default
warning: unknown lint: `test_unstable_lint` warning: 1 warning emitted
--> $DIR/feature-gate-test_unstable_lint.rs:4:1
|
LL | #![allow(test_unstable_lint)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `test_unstable_lint` lint is unstable
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `test_unstable_lint`
--> $DIR/feature-gate-test_unstable_lint.rs:4:1
|
LL | #![allow(test_unstable_lint)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `test_unstable_lint` lint is unstable
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted

View file

@ -1,6 +1,4 @@
// check-pass // check-pass
#![warn(unnameable_types)] //~ WARN unknown lint #![warn(unnameable_types)] //~ WARN unknown lint
//~| WARN unknown lint
//~| WARN unknown lint
fn main() {} fn main() {}

View file

@ -9,27 +9,5 @@ LL | #![warn(unnameable_types)]
= help: add `#![feature(type_privacy_lints)]` to the crate attributes to enable = help: add `#![feature(type_privacy_lints)]` to the crate attributes to enable
= note: `#[warn(unknown_lints)]` on by default = note: `#[warn(unknown_lints)]` on by default
warning: unknown lint: `unnameable_types` warning: 1 warning emitted
--> $DIR/feature-gate-type_privacy_lints.rs:3:1
|
LL | #![warn(unnameable_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `unnameable_types` lint is unstable
= note: see issue #48054 <https://github.com/rust-lang/rust/issues/48054> for more information
= help: add `#![feature(type_privacy_lints)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `unnameable_types`
--> $DIR/feature-gate-type_privacy_lints.rs:3:1
|
LL | #![warn(unnameable_types)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `unnameable_types` lint is unstable
= note: see issue #48054 <https://github.com/rust-lang/rust/issues/48054> for more information
= help: add `#![feature(type_privacy_lints)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted

View file

@ -0,0 +1,55 @@
// This is a non-regression test for issue #114325: an "unexpected unsized tail" ICE happened during
// codegen, and was fixed by MIR drop tracking #107421.
// edition: 2021
// build-pass: ICEd during codegen.
#![feature(impl_trait_in_assoc_type)]
use std::future::Future;
fn main() {
RuntimeRef::spawn_local(actor_fn(http_actor));
}
async fn http_actor() {
async fn respond(body: impl Body) {
body.write_message().await;
}
respond(&()).await;
}
trait Body {
type WriteFuture: Future;
fn write_message(self) -> Self::WriteFuture;
}
impl Body for &'static () {
type WriteFuture = impl Future<Output = ()>;
fn write_message(self) -> Self::WriteFuture {
async {}
}
}
trait NewActor {
type RuntimeAccess;
}
fn actor_fn<T, A>(_d: T) -> (T, A) {
loop {}
}
impl<F: FnMut() -> A, A> NewActor for (F, A) {
type RuntimeAccess = RuntimeRef;
}
struct RuntimeRef(Vec<()>);
impl RuntimeRef {
fn spawn_local<NA: NewActor<RuntimeAccess = RuntimeRef>>(_f: NA) {
struct ActorFuture<NA: NewActor>(NA::RuntimeAccess);
(ActorFuture::<NA>(RuntimeRef(vec![])), _f);
}
}

View file

@ -3,20 +3,14 @@
mod foo { mod foo {
#![allow(uncommon_codepoints)] #![allow(uncommon_codepoints)]
//~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes] //~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
#[allow(uncommon_codepoints)] #[allow(uncommon_codepoints)]
//~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes] //~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
const BAR: f64 = 0.000001; const BAR: f64 = 0.000001;
} }
#[allow(uncommon_codepoints)] #[allow(uncommon_codepoints)]
//~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes] //~^ ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
//~| ERROR allow(uncommon_codepoints) is ignored unless specified at crate level [unused_attributes]
fn main() { fn main() {
} }

View file

@ -11,64 +11,16 @@ LL | #![deny(uncommon_codepoints, unused_attributes)]
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
error: allow(uncommon_codepoints) is ignored unless specified at crate level error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:9:9 --> $DIR/crate_level_only_lint.rs:7:9
| |
LL | #[allow(uncommon_codepoints)] LL | #[allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
error: allow(uncommon_codepoints) is ignored unless specified at crate level error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:17:9 --> $DIR/crate_level_only_lint.rs:13:9
| |
LL | #[allow(uncommon_codepoints)] LL | #[allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
error: allow(uncommon_codepoints) is ignored unless specified at crate level error: aborting due to 3 previous errors
--> $DIR/crate_level_only_lint.rs:4:10
|
LL | #![allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:9:9
|
LL | #[allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:17:9
|
LL | #[allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:4:10
|
LL | #![allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:9:9
|
LL | #[allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(uncommon_codepoints) is ignored unless specified at crate level
--> $DIR/crate_level_only_lint.rs:17:9
|
LL | #[allow(uncommon_codepoints)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 9 previous errors

View file

@ -11,16 +11,4 @@
//~| WARNING previously accepted by the compiler //~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous //~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler //~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler
//~| ERROR incompatible with previous
//~| WARNING previously accepted by the compiler
fn main() {} fn main() {}

View file

@ -41,83 +41,5 @@ LL | #[allow(nonstandard_style)]
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670> = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(nonstandard_style) incompatible with previous forbid error: aborting due to 3 previous errors
--> $DIR/forbid-group-group-2.rs:7:9
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
...
LL | #[allow(nonstandard_style)]
| ^^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(nonstandard_style) incompatible with previous forbid
--> $DIR/forbid-group-group-2.rs:7:9
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
...
LL | #[allow(nonstandard_style)]
| ^^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(nonstandard_style) incompatible with previous forbid
--> $DIR/forbid-group-group-2.rs:7:9
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
...
LL | #[allow(nonstandard_style)]
| ^^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(nonstandard_style) incompatible with previous forbid
--> $DIR/forbid-group-group-2.rs:7:9
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
...
LL | #[allow(nonstandard_style)]
| ^^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(nonstandard_style) incompatible with previous forbid
--> $DIR/forbid-group-group-2.rs:7:9
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
...
LL | #[allow(nonstandard_style)]
| ^^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: allow(nonstandard_style) incompatible with previous forbid
--> $DIR/forbid-group-group-2.rs:7:9
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
...
LL | #[allow(nonstandard_style)]
| ^^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 9 previous errors

View file

@ -8,10 +8,6 @@
#[allow(unused_variables)] #[allow(unused_variables)]
//~^ WARNING incompatible with previous forbid //~^ WARNING incompatible with previous forbid
//~| WARNING previously accepted //~| WARNING previously accepted
//~| WARNING incompatible with previous forbid
//~| WARNING previously accepted
//~| WARNING incompatible with previous forbid
//~| WARNING previously accepted
fn main() { fn main() {
let a: (); let a: ();
} }

View file

@ -11,31 +11,5 @@ LL | #[allow(unused_variables)]
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670> = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: `#[warn(forbidden_lint_groups)]` on by default = note: `#[warn(forbidden_lint_groups)]` on by default
warning: allow(unused_variables) incompatible with previous forbid warning: 1 warning emitted
--> $DIR/forbid-group-member.rs:8:9
|
LL | #![forbid(unused)]
| ------ `forbid` level set here
LL |
LL | #[allow(unused_variables)]
| ^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: allow(unused_variables) incompatible with previous forbid
--> $DIR/forbid-group-member.rs:8:9
|
LL | #![forbid(unused)]
| ------ `forbid` level set here
LL |
LL | #[allow(unused_variables)]
| ^^^^^^^^^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted

View file

@ -5,7 +5,6 @@
#[allow(unused)] #[allow(unused)]
//~^ ERROR incompatible with previous forbid //~^ ERROR incompatible with previous forbid
//~| ERROR incompatible with previous forbid
fn main() { fn main() {
let a: (); let a: ();
} }

View file

@ -7,17 +7,6 @@ LL |
LL | #[allow(unused)] LL | #[allow(unused)]
| ^^^^^^ overruled by previous forbid | ^^^^^^ overruled by previous forbid
error[E0453]: allow(unused) incompatible with previous forbid error: aborting due to 1 previous error
--> $DIR/forbid-member-group.rs:6:9
|
LL | #![forbid(unused_variables)]
| ---------------- `forbid` level set here
LL |
LL | #[allow(unused)]
| ^^^^^^ overruled by previous forbid
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0453`. For more information about this error, try `rustc --explain E0453`.

View file

@ -7,8 +7,4 @@
#[deny(warnings)] #[deny(warnings)]
//~^ WARNING incompatible with previous forbid //~^ WARNING incompatible with previous forbid
//~| WARNING being phased out //~| WARNING being phased out
//~| WARNING incompatible with previous forbid
//~| WARNING being phased out
//~| WARNING incompatible with previous forbid
//~| WARNING being phased out
fn main() {} fn main() {}

View file

@ -11,31 +11,5 @@ LL | #[deny(warnings)]
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670> = note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: `#[warn(forbidden_lint_groups)]` on by default = note: `#[warn(forbidden_lint_groups)]` on by default
warning: deny(warnings) incompatible with previous forbid warning: 1 warning emitted
--> $DIR/issue-80988.rs:7:8
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
LL |
LL | #[deny(warnings)]
| ^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: deny(warnings) incompatible with previous forbid
--> $DIR/issue-80988.rs:7:8
|
LL | #![forbid(warnings)]
| -------- `forbid` level set here
LL |
LL | #[deny(warnings)]
| ^^^^^^^^ overruled by previous forbid
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #81670 <https://github.com/rust-lang/rust/issues/81670>
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted

View file

@ -2,6 +2,5 @@
#[allow(deprecated)] #[allow(deprecated)]
//~^ ERROR allow(deprecated) incompatible //~^ ERROR allow(deprecated) incompatible
//~| ERROR allow(deprecated) incompatible
fn main() { fn main() {
} }

View file

@ -7,17 +7,6 @@ LL |
LL | #[allow(deprecated)] LL | #[allow(deprecated)]
| ^^^^^^^^^^ overruled by previous forbid | ^^^^^^^^^^ overruled by previous forbid
error[E0453]: allow(deprecated) incompatible with previous forbid error: aborting due to 1 previous error
--> $DIR/lint-forbid-attr.rs:3:9
|
LL | #![forbid(deprecated)]
| ---------- `forbid` level set here
LL |
LL | #[allow(deprecated)]
| ^^^^^^^^^^ overruled by previous forbid
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0453`. For more information about this error, try `rustc --explain E0453`.

View file

@ -1,6 +1,5 @@
// compile-flags: -F deprecated // compile-flags: -F deprecated
#[allow(deprecated)] //~ ERROR allow(deprecated) incompatible #[allow(deprecated)] //~ ERROR allow(deprecated) incompatible
//~| ERROR allow(deprecated) incompatible
fn main() { fn main() {
} }

View file

@ -6,15 +6,6 @@ LL | #[allow(deprecated)]
| |
= note: `forbid` lint level was set on command line = note: `forbid` lint level was set on command line
error[E0453]: allow(deprecated) incompatible with previous forbid error: aborting due to 1 previous error
--> $DIR/lint-forbid-cmdline.rs:3:9
|
LL | #[allow(deprecated)]
| ^^^^^^^^^^ overruled by previous forbid
|
= note: `forbid` lint level was set on command line
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0453`. For more information about this error, try `rustc --explain E0453`.

View file

@ -3,8 +3,6 @@
// edition:2018 // edition:2018
#![deny(must_not_suspend)] #![deny(must_not_suspend)]
//~^ WARNING unknown lint: `must_not_suspend` //~^ WARNING unknown lint: `must_not_suspend`
//~| WARNING unknown lint: `must_not_suspend`
//~| WARNING unknown lint: `must_not_suspend`
async fn other() {} async fn other() {}

View file

@ -9,27 +9,5 @@ LL | #![deny(must_not_suspend)]
= help: add `#![feature(must_not_suspend)]` to the crate attributes to enable = help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
= note: `#[warn(unknown_lints)]` on by default = note: `#[warn(unknown_lints)]` on by default
warning: unknown lint: `must_not_suspend` warning: 1 warning emitted
--> $DIR/gated.rs:4:1
|
LL | #![deny(must_not_suspend)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `must_not_suspend` lint is unstable
= note: see issue #83310 <https://github.com/rust-lang/rust/issues/83310> for more information
= help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `must_not_suspend`
--> $DIR/gated.rs:4:1
|
LL | #![deny(must_not_suspend)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `must_not_suspend` lint is unstable
= note: see issue #83310 <https://github.com/rust-lang/rust/issues/83310> for more information
= help: add `#![feature(must_not_suspend)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted

View file

@ -1,11 +1,11 @@
error: unused variable: `b` error: unused variable: `b`
--> $DIR/issue-119383.rs:6:24 --> $DIR/issue-119383-if-let-guard.rs:6:24
| |
LL | () if let Some(b) = Some(()) => {} LL | () if let Some(b) = Some(()) => {}
| ^ help: if this is intentional, prefix it with an underscore: `_b` | ^ help: if this is intentional, prefix it with an underscore: `_b`
| |
note: the lint level is defined here note: the lint level is defined here
--> $DIR/issue-119383.rs:2:9 --> $DIR/issue-119383-if-let-guard.rs:2:9
| |
LL | #![deny(unused_variables)] LL | #![deny(unused_variables)]
| ^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^

View file

@ -4,17 +4,5 @@ error: unknown lint: `test_unstable_lint`
= help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable = help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable
= note: requested on the command line with `-D unknown-lints` = note: requested on the command line with `-D unknown-lints`
error: unknown lint: `test_unstable_lint` error: aborting due to 1 previous error
|
= note: the `test_unstable_lint` lint is unstable
= help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: unknown lint: `test_unstable_lint`
|
= note: the `test_unstable_lint` lint is unstable
= help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 3 previous errors

View file

@ -3,7 +3,5 @@
#![deny(unknown_lints)] #![deny(unknown_lints)]
#![allow(test_unstable_lint)] #![allow(test_unstable_lint)]
//~^ ERROR unknown lint: `test_unstable_lint` //~^ ERROR unknown lint: `test_unstable_lint`
//~| ERROR unknown lint: `test_unstable_lint`
//~| ERROR unknown lint: `test_unstable_lint`
fn main() {} fn main() {}

View file

@ -12,25 +12,5 @@ note: the lint level is defined here
LL | #![deny(unknown_lints)] LL | #![deny(unknown_lints)]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
error: unknown lint: `test_unstable_lint` error: aborting due to 1 previous error
--> $DIR/deny-unstable-lint-inline.rs:4:1
|
LL | #![allow(test_unstable_lint)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `test_unstable_lint` lint is unstable
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: unknown lint: `test_unstable_lint`
--> $DIR/deny-unstable-lint-inline.rs:4:1
|
LL | #![allow(test_unstable_lint)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `test_unstable_lint` lint is unstable
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: aborting due to 3 previous errors

View file

@ -4,17 +4,5 @@ warning: unknown lint: `test_unstable_lint`
= help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable = help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable
= note: requested on the command line with `-W unknown-lints` = note: requested on the command line with `-W unknown-lints`
warning: unknown lint: `test_unstable_lint` warning: 1 warning emitted
|
= note: the `test_unstable_lint` lint is unstable
= help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `test_unstable_lint`
|
= note: the `test_unstable_lint` lint is unstable
= help: add `-Zcrate-attr="feature(test_unstable_lint)"` to the command-line options to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted

View file

@ -3,7 +3,5 @@
#![warn(unknown_lints)] #![warn(unknown_lints)]
#![allow(test_unstable_lint)] #![allow(test_unstable_lint)]
//~^ WARNING unknown lint: `test_unstable_lint` //~^ WARNING unknown lint: `test_unstable_lint`
//~| WARNING unknown lint: `test_unstable_lint`
//~| WARNING unknown lint: `test_unstable_lint`
fn main() {} fn main() {}

View file

@ -12,25 +12,5 @@ note: the lint level is defined here
LL | #![warn(unknown_lints)] LL | #![warn(unknown_lints)]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
warning: unknown lint: `test_unstable_lint` warning: 1 warning emitted
--> $DIR/warn-unknown-unstable-lint-inline.rs:4:1
|
LL | #![allow(test_unstable_lint)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `test_unstable_lint` lint is unstable
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: unknown lint: `test_unstable_lint`
--> $DIR/warn-unknown-unstable-lint-inline.rs:4:1
|
LL | #![allow(test_unstable_lint)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the `test_unstable_lint` lint is unstable
= help: add `#![feature(test_unstable_lint)]` to the crate attributes to enable
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
warning: 3 warnings emitted