Rollup merge of #149736 - dawidl022:contracts/chore/cleanup-warning-in-tests, r=Kivooeo,jieyouxu
contracts: clean up feature flag warning duplicated across tests There is no need for every contracts test to assert the same warning for using the `contracts` feature flag, as such use `#![expect(incomplete_features)]` in the tests, and add one test to specifically check for the warning. Making this change has been discussed in the comments of rust-lang/rust#149722. Contracts tracking issue: https://github.com/rust-lang/rust/issues/128044 r? Kivooeo
This commit is contained in:
commit
d239114c8a
71 changed files with 50 additions and 512 deletions
|
|
@ -3,8 +3,8 @@
|
|||
//@ compile-flags: --crate-type=lib
|
||||
//@ check-pass
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use
|
||||
|
||||
extern crate core;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//@ compile-flags: --crate-type=lib
|
||||
//@ edition: 2021
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete
|
||||
|
||||
#[core::contracts::ensures(|ret| *ret)]
|
||||
//~^ ERROR contract annotations are not yet supported on async or gen functions
|
||||
|
|
|
|||
|
|
@ -4,14 +4,5 @@ error: contract annotations are not yet supported on async or gen functions
|
|||
LL | #[core::contracts::ensures(|ret| *ret)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/async-fn-contract-ice-145333.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error: aborting due to 1 previous error; 1 warning emitted
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
//! Test for some of the existing limitations and the current error messages.
|
||||
//! Some of these limitations may be removed in the future.
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
#![allow(dead_code)]
|
||||
|
||||
/// Represent a 5-star system.
|
||||
|
|
|
|||
|
|
@ -10,14 +10,5 @@ error: contract annotations is only supported in functions with bodies
|
|||
LL | #[core::contracts::ensures(|ret| ret.is_none_or(Stars::is_valid))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-annotation-limitations.rs:4:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error: aborting due to 2 previous errors; 1 warning emitted
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-generics.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-generics.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-generics.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-generics.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -16,8 +16,8 @@
|
|||
//@ [chk_fail_post] compile-flags: -Zcontract-checks=yes
|
||||
//@ [chk_const_fail] compile-flags: -Zcontract-checks=yes
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
use std::ops::Sub;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-generics.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-nest.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-nest.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-nest.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -16,8 +16,8 @@
|
|||
//@ [chk_fail_pre] compile-flags: -Zcontract-checks=yes
|
||||
//@ [chk_fail_post] compile-flags: -Zcontract-checks=yes
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
#[core::contracts::requires(x.baz > 0)]
|
||||
#[core::contracts::ensures(|ret| *ret > 100)]
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-nest.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-nest.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-nest.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-tail.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-tail.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-tail.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -16,8 +16,8 @@
|
|||
//@ [chk_fail_pre] compile-flags: -Zcontract-checks=yes
|
||||
//@ [chk_fail_post] compile-flags: -Zcontract-checks=yes
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
#[core::contracts::requires(x.baz > 0)]
|
||||
#[core::contracts::ensures(|ret| *ret > 100)]
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-tail.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-tail.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-attributes-tail.rs:19:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
//@ run-crash
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
struct Baz {
|
||||
baz: i32
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-captures-via-closure-copy.rs:4:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
//@ edition:2015..2021
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
struct Baz {
|
||||
baz: i32
|
||||
|
|
|
|||
|
|
@ -1,12 +1,3 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-captures-via-closure-noncopy.rs:4:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0277]: the trait bound `Baz: std::marker::Copy` is not satisfied in `{closure@$DIR/contract-captures-via-closure-noncopy.rs:13:42: 13:57}`
|
||||
--> $DIR/contract-captures-via-closure-noncopy.rs:13:1
|
||||
|
|
||||
|
|
@ -32,6 +23,6 @@ LL + #[derive(Copy)]
|
|||
LL | struct Baz {
|
||||
|
|
||||
|
||||
error: aborting due to 1 previous error; 1 warning emitted
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-const-fn.rs:17:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -14,8 +14,8 @@
|
|||
//@ [all_pass] compile-flags: -Zcontract-checks=yes
|
||||
//@ [runtime_fail_pre] compile-flags: -Zcontract-checks=yes
|
||||
//@ [runtime_fail_post] compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::*;
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-const-fn.rs:17:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-const-fn.rs:17:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
//@ run-pass
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::requires;
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-disabled-side-effect-declarations.rs:2:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
//@ run-pass
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::ensures;
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-disabled-side-effect-ensures.rs:2:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-ensures-early-fn-exit.rs:16:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-ensures-early-fn-exit.rs:16:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-ensures-early-fn-exit.rs:16:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-ensures-early-fn-exit.rs:16:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -13,8 +13,8 @@
|
|||
//@ [chk_fail_yeet] compile-flags: -Zcontract-checks=yes
|
||||
//! This test ensures that ensures clauses are checked for different return points of a function.
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
#![feature(yeet_expr)]
|
||||
|
||||
/// This ensures will fail in different return points depending on the input.
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-ensures-early-fn-exit.rs:16:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//@ run-pass
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
#[core::contracts::ensures(|ret| *ret > 0)]
|
||||
fn outer() -> i32 {
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-ensures-is-not-inherited-when-nesting.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//@ run-pass
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
struct Outer { outer: std::cell::Cell<i32> }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contracts-requires-is-not-inherited-when-nesting.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//@ run-pass
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::{ensures, requires};
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/declared-vars-referring-to-params.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//@ run-pass
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::{ensures, requires};
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/declared-vars-used-in-ensures.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//@ run-pass
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::{ensures, requires};
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/declared-vars-used-in-requires-and-ensures.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//! Checks for compilation errors related to adding contracts to non-function items.
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
#![allow(dead_code)]
|
||||
|
||||
#[core::contracts::requires(true)]
|
||||
|
|
|
|||
|
|
@ -40,14 +40,5 @@ error: contract annotations can only be used on functions
|
|||
LL | #[core::contracts::requires(true)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/disallow-contract-annotation-on-non-fn.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error: aborting due to 7 previous errors; 1 warning emitted
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::ensures;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,3 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/empty-ensures.rs:2:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0277]: expected a `Fn(&_)` closure, found `()`
|
||||
--> $DIR/empty-ensures.rs:8:1
|
||||
|
|
||||
|
|
@ -20,6 +11,6 @@ LL | #[ensures()]
|
|||
note: required by a bound in `build_check_ensures`
|
||||
--> $SRC_DIR/core/src/contracts.rs:LL:COL
|
||||
|
||||
error: aborting due to 1 previous error; 1 warning emitted
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//@ dont-require-annotations: NOTE
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::requires;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,9 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/empty-requires.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/empty-requires.rs:9:1
|
||||
|
|
||||
LL | #[requires()]
|
||||
| ^^^^^^^^^^^^^ expected `bool`, found `()`
|
||||
|
||||
error: aborting due to 1 previous error; 1 warning emitted
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
|
|
|
|||
17
tests/ui/contracts/incomplete-feature.rs
Normal file
17
tests/ui/contracts/incomplete-feature.rs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//@ run-pass
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
|
||||
// This test specifically checks that the [incomplete_features] warning is
|
||||
// emitted when the `contracts` feature gate is enabled, so that it can be
|
||||
// marked as `expect`ed in other tests in order to reduce duplication.
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
extern crate core;
|
||||
use core::contracts::requires;
|
||||
|
||||
#[requires(true)]
|
||||
fn foo() {}
|
||||
|
||||
fn main() {
|
||||
foo()
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/associated-item.rs:6:12
|
||||
--> $DIR/incomplete-feature.rs:7:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-lang-items.rs:8:12
|
||||
|
|
||||
LL | #![feature(contracts)] // to access core::contracts
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-lang-items.rs:8:12
|
||||
|
|
||||
LL | #![feature(contracts)] // to access core::contracts
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
//
|
||||
//@ [chk_fail_post] run-crash
|
||||
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)] // to access core::contracts
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
#![feature(contracts_internals)] // to access check_requires lang item
|
||||
#![feature(core_intrinsics)]
|
||||
fn foo(x: Baz) -> i32 {
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/contract-lang-items.rs:8:12
|
||||
|
|
||||
LL | #![feature(contracts)] // to access core::contracts
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
//@ run-pass
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts, cfg_contract_checks, contracts_internals, core_intrinsics)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/basics.rs:2:12
|
||||
|
|
||||
LL | #![feature(contracts, cfg_contract_checks, contracts_internals, core_intrinsics)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//@ dont-require-annotations: NOTE
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::requires;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,9 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/requires-bool-expr-with-semicolon.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/requires-bool-expr-with-semicolon.rs:9:1
|
||||
|
|
||||
LL | #[requires(true;)]
|
||||
| ^^^^^^^^^^^^^^^^^^ expected `bool`, found `()`
|
||||
|
||||
error: aborting due to 1 previous error; 1 warning emitted
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//@ dont-require-annotations: NOTE
|
||||
//@ compile-flags: -Zcontract-checks=yes
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(contracts)]
|
||||
//~^ WARN the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
|
||||
|
||||
extern crate core;
|
||||
use core::contracts::requires;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,9 @@
|
|||
warning: the feature `contracts` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||
--> $DIR/requires-no-final-expression.rs:3:12
|
||||
|
|
||||
LL | #![feature(contracts)]
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: see issue #128044 <https://github.com/rust-lang/rust/issues/128044> for more information
|
||||
= note: `#[warn(incomplete_features)]` on by default
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/requires-no-final-expression.rs:9:1
|
||||
|
|
||||
LL | #[requires(let y = 1;)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `()`
|
||||
|
||||
error: aborting due to 1 previous error; 1 warning emitted
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue