Use cfg(false)
in UI tests
This commit is contained in:
parent
d83f415325
commit
303c1b45c2
141 changed files with 470 additions and 470 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
let _ = #[attr] [];
|
let _ = #[attr] [];
|
||||||
let _ = #[attr] [0];
|
let _ = #[attr] [0];
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
enum Foo { pub V, }
|
enum Foo { pub V, }
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//@ pp-exact
|
//@ pp-exact
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn simple_attr() {
|
fn simple_attr() {
|
||||||
|
|
||||||
#[attr]
|
#[attr]
|
||||||
|
@ -10,21 +10,21 @@ fn simple_attr() {
|
||||||
if true {}
|
if true {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn if_else_chain() {
|
fn if_else_chain() {
|
||||||
|
|
||||||
#[first_attr]
|
#[first_attr]
|
||||||
if true {} else if false {} else {}
|
if true {} else if false {} else {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn if_let() {
|
fn if_let() {
|
||||||
|
|
||||||
#[attr]
|
#[attr]
|
||||||
if let Some(_) = Some(true) {}
|
if let Some(_) = Some(true) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn let_attr_if() {
|
fn let_attr_if() {
|
||||||
let _ = #[attr] if let _ = 0 {};
|
let _ = #[attr] if let _ = 0 {};
|
||||||
let _ = #[attr] if true {};
|
let _ = #[attr] if true {};
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
static X: u8;
|
static X: u8;
|
||||||
type X;
|
type X;
|
||||||
|
@ -14,7 +14,7 @@ extern "C" {
|
||||||
pub fn foo();
|
pub fn foo();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
trait T {
|
trait T {
|
||||||
const X: u8;
|
const X: u8;
|
||||||
type X;
|
type X;
|
||||||
|
@ -30,7 +30,7 @@ trait T {
|
||||||
pub default fn foo();
|
pub default fn foo();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
impl T for S {
|
impl T for S {
|
||||||
const X: u8;
|
const X: u8;
|
||||||
type X;
|
type X;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
fn main() {
|
fn main() {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
<() as module>::mac!(); //~ ERROR macros cannot use qualified paths
|
<() as module>::mac!(); //~ ERROR macros cannot use qualified paths
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ fn f() {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn g() {
|
fn g() {
|
||||||
let _ = async {
|
let _ = async {
|
||||||
for await _i in core::async_iter::from_iter(0..3) {
|
for await _i in core::async_iter::from_iter(0..3) {
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
struct S;
|
struct S;
|
||||||
|
|
||||||
impl S {
|
impl S {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
unsafe async fn g() {} //~ ERROR expected one of `extern` or `fn`, found keyword `async`
|
unsafe async fn g() {} //~ ERROR expected one of `extern` or `fn`, found keyword `async`
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
unsafe async fn f() {} //~ ERROR expected one of `extern` or `fn`, found keyword `async`
|
unsafe async fn f() {} //~ ERROR expected one of `extern` or `fn`, found keyword `async`
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Ensure that `-Z crate-attr=cfg(FALSE)` can comment out the whole crate
|
// Ensure that `-Z crate-attr=cfg(false)` can comment out the whole crate
|
||||||
//@ compile-flags: --crate-type=lib -Zcrate-attr=cfg(FALSE)
|
//@ compile-flags: --crate-type=lib -Zcrate-attr=cfg(false)
|
||||||
//@ check-pass
|
//@ check-pass
|
||||||
|
|
||||||
// NOTE: duplicate items are load-bearing
|
// NOTE: duplicate items are load-bearing
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//@ check-pass
|
//@ check-pass
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
auto trait Foo {}
|
auto trait Foo {}
|
||||||
//~^ WARN `auto` traits are unstable
|
//~^ WARN `auto` traits are unstable
|
||||||
//~| WARN unstable syntax can change at any point in the future, causing a hard error!
|
//~| WARN unstable syntax can change at any point in the future, causing a hard error!
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// `#![no_std]` on a fully unconfigured crate is respected if it's placed before `cfg(FALSE)`.
|
// `#![no_std]` on a fully unconfigured crate is respected if it's placed before `cfg(false)`.
|
||||||
// This crate has no such attribute, therefore this crate does link to libstd.
|
// This crate has no such attribute, therefore this crate does link to libstd.
|
||||||
|
|
||||||
#![cfg(FALSE)]
|
#![cfg(false)]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// `#![no_std]` on a fully unconfigured crate is respected if it's placed before `cfg(FALSE)`.
|
// `#![no_std]` on a fully unconfigured crate is respected if it's placed before `cfg(false)`.
|
||||||
// Therefore this crate does link to libstd.
|
// Therefore this crate does link to libstd.
|
||||||
|
|
||||||
#![cfg(FALSE)]
|
#![cfg(false)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
// `#![no_std]` on a fully unconfigured crate is respected if it's placed before `cfg(FALSE)`.
|
// `#![no_std]` on a fully unconfigured crate is respected if it's placed before `cfg(false)`.
|
||||||
// Therefore this crate doesn't link to libstd.
|
// Therefore this crate doesn't link to libstd.
|
||||||
|
|
||||||
//@ no-prefer-dynamic
|
//@ no-prefer-dynamic
|
||||||
|
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![cfg(FALSE)]
|
#![cfg(false)]
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
pub mod inner {
|
pub mod inner {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
pub fn uwu() {}
|
pub fn uwu() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
pub mod doesnt_exist {
|
pub mod doesnt_exist {
|
||||||
pub fn hello() {}
|
pub fn hello() {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
// Features above `cfg(FALSE)` are in effect in a fully unconfigured crate (issue #104633).
|
// Features above `cfg(false)` are in effect in a fully unconfigured crate (issue #104633).
|
||||||
|
|
||||||
//@ check-pass
|
//@ check-pass
|
||||||
//@ compile-flags: --crate-type lib
|
//@ compile-flags: --crate-type lib
|
||||||
|
|
||||||
#![feature(decl_macro)]
|
#![feature(decl_macro)]
|
||||||
#![cfg(FALSE)]
|
#![cfg(false)]
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
|
|
||||||
macro mac() {} // OK
|
macro mac() {} // OK
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// check that cfg correctly chooses between the macro impls (see also
|
// check that cfg correctly chooses between the macro impls (see also
|
||||||
// cfg-macros-foo.rs)
|
// cfg-macros-foo.rs)
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod foo {
|
mod foo {
|
||||||
macro_rules! bar {
|
macro_rules! bar {
|
||||||
|
|
|
@ -11,7 +11,7 @@ fn foo(f: Foo) {
|
||||||
Foo::Bar => {},
|
Foo::Bar => {},
|
||||||
#[cfg(not(FALSE))]
|
#[cfg(not(FALSE))]
|
||||||
Foo::Baz => {},
|
Foo::Baz => {},
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
Basdfwe => {}
|
Basdfwe => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#[cfg_eval]
|
#[cfg_eval]
|
||||||
fn main() {
|
fn main() {
|
||||||
#[cfg_eval]
|
#[cfg_eval]
|
||||||
let _ = #[cfg(FALSE)] 0;
|
let _ = #[cfg(false)] 0;
|
||||||
//~^ ERROR removing an expression is not supported in this position
|
//~^ ERROR removing an expression is not supported in this position
|
||||||
//~| ERROR expected expression, found `;`
|
//~| ERROR expected expression, found `;`
|
||||||
//~| ERROR removing an expression is not supported in this position
|
//~| ERROR removing an expression is not supported in this position
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
error: removing an expression is not supported in this position
|
error: removing an expression is not supported in this position
|
||||||
--> $DIR/cfg-stmt-recovery.rs:9:13
|
--> $DIR/cfg-stmt-recovery.rs:9:13
|
||||||
|
|
|
|
||||||
LL | let _ = #[cfg(FALSE)] 0;
|
LL | let _ = #[cfg(false)] 0;
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: expected expression, found `;`
|
error: expected expression, found `;`
|
||||||
--> $DIR/cfg-stmt-recovery.rs:9:28
|
--> $DIR/cfg-stmt-recovery.rs:9:28
|
||||||
|
|
|
|
||||||
LL | let _ = #[cfg(FALSE)] 0;
|
LL | let _ = #[cfg(false)] 0;
|
||||||
| ^ expected expression
|
| ^ expected expression
|
||||||
|
|
||||||
error: removing an expression is not supported in this position
|
error: removing an expression is not supported in this position
|
||||||
--> $DIR/cfg-stmt-recovery.rs:9:13
|
--> $DIR/cfg-stmt-recovery.rs:9:13
|
||||||
|
|
|
|
||||||
LL | let _ = #[cfg(FALSE)] 0;
|
LL | let _ = #[cfg(false)] 0;
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 3 previous errors
|
||||||
|
|
|
@ -7,47 +7,47 @@
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let a = 413;
|
let a = 413;
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
let a = ();
|
let a = ();
|
||||||
assert_eq!(a, 413);
|
assert_eq!(a, 413);
|
||||||
|
|
||||||
let mut b = 612;
|
let mut b = 612;
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
{
|
{
|
||||||
b = 1111;
|
b = 1111;
|
||||||
}
|
}
|
||||||
assert_eq!(b, 612);
|
assert_eq!(b, 612);
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
undefined_fn();
|
undefined_fn();
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
undefined_macro!();
|
undefined_macro!();
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
undefined_macro![];
|
undefined_macro![];
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
undefined_macro!{};
|
undefined_macro!{};
|
||||||
|
|
||||||
// pretty printer bug...
|
// pretty printer bug...
|
||||||
// #[cfg(FALSE)]
|
// #[cfg(false)]
|
||||||
// undefined_macro!{}
|
// undefined_macro!{}
|
||||||
|
|
||||||
let () = (#[cfg(FALSE)] 341,); // Should this also work on parens?
|
let () = (#[cfg(false)] 341,); // Should this also work on parens?
|
||||||
let t = (1, #[cfg(FALSE)] 3, 4);
|
let t = (1, #[cfg(false)] 3, 4);
|
||||||
assert_eq!(t, (1, 4));
|
assert_eq!(t, (1, 4));
|
||||||
|
|
||||||
let f = |_: u32, _: u32| ();
|
let f = |_: u32, _: u32| ();
|
||||||
f(2, 1, #[cfg(FALSE)] 6);
|
f(2, 1, #[cfg(false)] 6);
|
||||||
|
|
||||||
let _: u32 = a.clone(#[cfg(FALSE)] undefined);
|
let _: u32 = a.clone(#[cfg(false)] undefined);
|
||||||
|
|
||||||
let _: [(); 0] = [#[cfg(FALSE)] 126];
|
let _: [(); 0] = [#[cfg(false)] 126];
|
||||||
let t = [#[cfg(FALSE)] 1, 2, 6];
|
let t = [#[cfg(false)] 1, 2, 6];
|
||||||
assert_eq!(t, [2, 6]);
|
assert_eq!(t, [2, 6]);
|
||||||
|
|
||||||
{
|
{
|
||||||
let r;
|
let r;
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
(r = 5);
|
(r = 5);
|
||||||
#[cfg(not(FALSE))]
|
#[cfg(not(FALSE))]
|
||||||
(r = 10);
|
(r = 10);
|
||||||
|
@ -75,7 +75,7 @@ fn main() {
|
||||||
612
|
612
|
||||||
});
|
});
|
||||||
|
|
||||||
assert_eq!((#[cfg(FALSE)] 1, #[cfg(not(FALSE))] 2), (2,));
|
assert_eq!((#[cfg(false)] 1, #[cfg(not(FALSE))] 2), (2,));
|
||||||
assert_eq!(n, 612);
|
assert_eq!(n, 612);
|
||||||
|
|
||||||
// check that lints work
|
// check that lints work
|
||||||
|
|
|
@ -6,16 +6,16 @@
|
||||||
|
|
||||||
// Crate use statements
|
// Crate use statements
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
use flippity;
|
use flippity;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
static b: bool = false;
|
static b: bool = false;
|
||||||
|
|
||||||
static b: bool = true;
|
static b: bool = true;
|
||||||
|
|
||||||
mod rustrt {
|
mod rustrt {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
// This symbol doesn't exist and would be a link error if this
|
// This symbol doesn't exist and would be a link error if this
|
||||||
// module was codegened
|
// module was codegened
|
||||||
|
@ -25,12 +25,12 @@ mod rustrt {
|
||||||
extern "C" {}
|
extern "C" {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
type t = isize;
|
type t = isize;
|
||||||
|
|
||||||
type t = bool;
|
type t = bool;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
enum tg {
|
enum tg {
|
||||||
foo,
|
foo,
|
||||||
}
|
}
|
||||||
|
@ -39,12 +39,12 @@ enum tg {
|
||||||
bar,
|
bar,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
struct r {
|
struct r {
|
||||||
i: isize,
|
i: isize,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn r(i: isize) -> r {
|
fn r(i: isize) -> r {
|
||||||
r { i: i }
|
r { i: i }
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ fn r(i: isize) -> r {
|
||||||
r { i: i }
|
r { i: i }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
mod m {
|
mod m {
|
||||||
// This needs to parse but would fail in typeck. Since it's not in
|
// This needs to parse but would fail in typeck. Since it's not in
|
||||||
// the current config it should not be typechecked.
|
// the current config it should not be typechecked.
|
||||||
|
@ -69,7 +69,7 @@ mod m {
|
||||||
mod m {
|
mod m {
|
||||||
// Submodules have slightly different code paths than the top-level
|
// Submodules have slightly different code paths than the top-level
|
||||||
// module, so let's make sure this jazz works here as well
|
// module, so let's make sure this jazz works here as well
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
pub fn f() {}
|
pub fn f() {}
|
||||||
|
|
||||||
pub fn f() {}
|
pub fn f() {}
|
||||||
|
@ -77,7 +77,7 @@ mod m {
|
||||||
|
|
||||||
// Since the FALSE configuration isn't defined main will just be
|
// Since the FALSE configuration isn't defined main will just be
|
||||||
// parsed, but nothing further will be done with it
|
// parsed, but nothing further will be done with it
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
panic!()
|
panic!()
|
||||||
}
|
}
|
||||||
|
@ -93,14 +93,14 @@ pub fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test_in_fn_ctxt() {
|
fn test_in_fn_ctxt() {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn f() {
|
fn f() {
|
||||||
panic!()
|
panic!()
|
||||||
}
|
}
|
||||||
fn f() {}
|
fn f() {}
|
||||||
f();
|
f();
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
static i: isize = 0;
|
static i: isize = 0;
|
||||||
static i: isize = 1;
|
static i: isize = 1;
|
||||||
assert_eq!(i, 1);
|
assert_eq!(i, 1);
|
||||||
|
@ -109,7 +109,7 @@ fn test_in_fn_ctxt() {
|
||||||
mod test_foreign_items {
|
mod test_foreign_items {
|
||||||
pub mod rustrt {
|
pub mod rustrt {
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
pub fn write() -> String;
|
pub fn write() -> String;
|
||||||
pub fn write() -> String;
|
pub fn write() -> String;
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ mod test_foreign_items {
|
||||||
}
|
}
|
||||||
|
|
||||||
mod test_use_statements {
|
mod test_use_statements {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
use flippity_foo;
|
use flippity_foo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,24 +127,24 @@ mod test_methods {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Fooable for Foo {
|
impl Fooable for Foo {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn what(&self) {}
|
fn what(&self) {}
|
||||||
|
|
||||||
fn what(&self) {}
|
fn what(&self) {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn the(&self) {}
|
fn the(&self) {}
|
||||||
|
|
||||||
fn the(&self) {}
|
fn the(&self) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
trait Fooable {
|
trait Fooable {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn what(&self);
|
fn what(&self);
|
||||||
|
|
||||||
fn what(&self);
|
fn what(&self);
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn the(&self);
|
fn the(&self);
|
||||||
|
|
||||||
fn the(&self);
|
fn the(&self);
|
||||||
|
|
|
@ -12,7 +12,7 @@ LL | pub mod doesnt_exist {
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/auxiliary/cfged_out.rs:5:5
|
--> $DIR/auxiliary/cfged_out.rs:5:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0425]: cannot find function `uwu` in crate `cfged_out`
|
error[E0425]: cannot find function `uwu` in crate `cfged_out`
|
||||||
|
@ -35,7 +35,7 @@ LL | pub fn uwu() {}
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/auxiliary/cfged_out.rs:2:5
|
--> $DIR/auxiliary/cfged_out.rs:2:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0425]: cannot find function `meow` in module `cfged_out::inner::right`
|
error[E0425]: cannot find function `meow` in module `cfged_out::inner::right`
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
pub mod inner {
|
pub mod inner {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
mod gone {
|
mod gone {
|
||||||
pub fn uwu() {}
|
pub fn uwu() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)] //~ NOTE the item is gated here
|
#[cfg(false)] //~ NOTE the item is gated here
|
||||||
pub use super::uwu;
|
pub use super::uwu;
|
||||||
//~^ NOTE found an item that was configured out
|
//~^ NOTE found an item that was configured out
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ pub use a::x;
|
||||||
//~| NOTE no `x` in `a`
|
//~| NOTE no `x` in `a`
|
||||||
|
|
||||||
mod a {
|
mod a {
|
||||||
#[cfg(FALSE)] //~ NOTE the item is gated here
|
#[cfg(false)] //~ NOTE the item is gated here
|
||||||
pub fn x() {}
|
pub fn x() {}
|
||||||
//~^ NOTE found an item that was configured out
|
//~^ NOTE found an item that was configured out
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,10 @@ pub use b::{x, y};
|
||||||
//~| NOTE no `y` in `b`
|
//~| NOTE no `y` in `b`
|
||||||
|
|
||||||
mod b {
|
mod b {
|
||||||
#[cfg(FALSE)] //~ NOTE the item is gated here
|
#[cfg(false)] //~ NOTE the item is gated here
|
||||||
pub fn x() {}
|
pub fn x() {}
|
||||||
//~^ NOTE found an item that was configured out
|
//~^ NOTE found an item that was configured out
|
||||||
#[cfg(FALSE)] //~ NOTE the item is gated here
|
#[cfg(false)] //~ NOTE the item is gated here
|
||||||
pub fn y() {}
|
pub fn y() {}
|
||||||
//~^ NOTE found an item that was configured out
|
//~^ NOTE found an item that was configured out
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ LL | pub fn x() {}
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-reexport.rs:17:5
|
--> $DIR/diagnostics-reexport.rs:17:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0432]: unresolved imports `b::x`, `b::y`
|
error[E0432]: unresolved imports `b::x`, `b::y`
|
||||||
|
@ -31,7 +31,7 @@ LL | pub fn x() {}
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-reexport.rs:28:5
|
--> $DIR/diagnostics-reexport.rs:28:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
note: found an item that was configured out
|
note: found an item that was configured out
|
||||||
--> $DIR/diagnostics-reexport.rs:32:12
|
--> $DIR/diagnostics-reexport.rs:32:12
|
||||||
|
@ -41,7 +41,7 @@ LL | pub fn y() {}
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-reexport.rs:31:5
|
--> $DIR/diagnostics-reexport.rs:31:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0425]: cannot find function `uwu` in module `inner`
|
error[E0425]: cannot find function `uwu` in module `inner`
|
||||||
|
@ -58,7 +58,7 @@ LL | pub use super::uwu;
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-reexport.rs:7:5
|
--> $DIR/diagnostics-reexport.rs:7:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 3 previous errors
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
#![allow(unexpected_cfgs)] // since we want to recognize them as unexpected
|
#![allow(unexpected_cfgs)] // since we want to recognize them as unexpected
|
||||||
|
|
||||||
pub mod inner {
|
pub mod inner {
|
||||||
#[cfg(FALSE)] //~ NOTE the item is gated here
|
#[cfg(false)] //~ NOTE the item is gated here
|
||||||
pub fn uwu() {}
|
pub fn uwu() {}
|
||||||
//~^ NOTE found an item that was configured out
|
//~^ NOTE found an item that was configured out
|
||||||
|
|
||||||
#[cfg(FALSE)] //~ NOTE the item is gated here
|
#[cfg(false)] //~ NOTE the item is gated here
|
||||||
//~^ NOTE the item is gated here
|
//~^ NOTE the item is gated here
|
||||||
//~| NOTE the item is gated here
|
//~| NOTE the item is gated here
|
||||||
pub mod doesnt_exist {
|
pub mod doesnt_exist {
|
||||||
|
|
|
@ -12,7 +12,7 @@ LL | pub mod doesnt_exist {
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-same-crate.rs:8:5
|
--> $DIR/diagnostics-same-crate.rs:8:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0432]: unresolved import `super::inner::doesnt_exist`
|
error[E0432]: unresolved import `super::inner::doesnt_exist`
|
||||||
|
@ -29,7 +29,7 @@ LL | pub mod doesnt_exist {
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-same-crate.rs:8:5
|
--> $DIR/diagnostics-same-crate.rs:8:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0433]: failed to resolve: could not find `doesnt_exist` in `inner`
|
error[E0433]: failed to resolve: could not find `doesnt_exist` in `inner`
|
||||||
|
@ -46,7 +46,7 @@ LL | pub mod doesnt_exist {
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-same-crate.rs:8:5
|
--> $DIR/diagnostics-same-crate.rs:8:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0425]: cannot find function `uwu` in module `inner`
|
error[E0425]: cannot find function `uwu` in module `inner`
|
||||||
|
@ -63,7 +63,7 @@ LL | pub fn uwu() {}
|
||||||
note: the item is gated here
|
note: the item is gated here
|
||||||
--> $DIR/diagnostics-same-crate.rs:4:5
|
--> $DIR/diagnostics-same-crate.rs:4:5
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0425]: cannot find function `meow` in module `inner::right`
|
error[E0425]: cannot find function `meow` in module `inner::right`
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
//@ compile-flags: --check-cfg=cfg() --cfg=unknown_but_active_cfg
|
//@ compile-flags: --check-cfg=cfg() --cfg=unknown_but_active_cfg
|
||||||
|
|
||||||
#[allow(unexpected_cfgs)]
|
#[allow(unexpected_cfgs)]
|
||||||
#[cfg(FALSE)]
|
#[cfg(unknown_and_inactive_cfg)]
|
||||||
//~^ WARNING unexpected `cfg` condition name
|
//~^ WARNING unexpected `cfg` condition name
|
||||||
fn bar() {}
|
fn bar() {}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
warning: unexpected `cfg` condition name: `FALSE`
|
warning: unexpected `cfg` condition name: `unknown_and_inactive_cfg`
|
||||||
--> $DIR/allow-same-level.rs:15:7
|
--> $DIR/allow-same-level.rs:15:7
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(unknown_and_inactive_cfg)]
|
||||||
| ^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
= help: to expect this configuration use `--check-cfg=cfg(FALSE)`
|
= help: to expect this configuration use `--check-cfg=cfg(unknown_and_inactive_cfg)`
|
||||||
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
|
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
|
||||||
= note: `#[warn(unexpected_cfgs)]` on by default
|
= note: `#[warn(unexpected_cfgs)]` on by default
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
#![allow(unexpected_cfgs)]
|
#![allow(unexpected_cfgs)]
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn bar() {}
|
fn bar() {}
|
||||||
|
|
||||||
fn foo() {
|
fn foo() {
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
#[allow(unexpected_cfgs)]
|
#[allow(unexpected_cfgs)]
|
||||||
mod aa {
|
mod aa {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn bar() {}
|
fn bar() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
//@ compile-flags:--cfg yes --check-cfg=cfg(yes,no)
|
//@ compile-flags:--cfg yes --check-cfg=cfg(yes,no)
|
||||||
|
|
||||||
fn f_lt<#[cfg(yes)] 'a: 'a, #[cfg(FALSE)] T>() {}
|
fn f_lt<#[cfg(yes)] 'a: 'a, #[cfg(false)] T>() {}
|
||||||
fn f_ty<#[cfg(FALSE)] 'a: 'a, #[cfg(yes)] T>() {}
|
fn f_ty<#[cfg(false)] 'a: 'a, #[cfg(yes)] T>() {}
|
||||||
|
|
||||||
type FnGood = for<#[cfg(yes)] 'a, #[cfg(FALSE)] T> fn(); // OK
|
type FnGood = for<#[cfg(yes)] 'a, #[cfg(false)] T> fn(); // OK
|
||||||
type FnBad = for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> fn();
|
type FnBad = for<#[cfg(false)] 'a, #[cfg(yes)] T> fn();
|
||||||
//~^ ERROR only lifetime parameters can be used in this context
|
//~^ ERROR only lifetime parameters can be used in this context
|
||||||
|
|
||||||
type PolyGood = dyn for<#[cfg(yes)] 'a, #[cfg(FALSE)] T> Copy; // OK
|
type PolyGood = dyn for<#[cfg(yes)] 'a, #[cfg(false)] T> Copy; // OK
|
||||||
type PolyBad = dyn for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> Copy;
|
type PolyBad = dyn for<#[cfg(false)] 'a, #[cfg(yes)] T> Copy;
|
||||||
//~^ ERROR only lifetime parameters can be used in this context
|
//~^ ERROR only lifetime parameters can be used in this context
|
||||||
|
|
||||||
struct WhereGood where for<#[cfg(yes)] 'a, #[cfg(FALSE)] T> u8: Copy; // OK
|
struct WhereGood where for<#[cfg(yes)] 'a, #[cfg(false)] T> u8: Copy; // OK
|
||||||
struct WhereBad where for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> u8: Copy;
|
struct WhereBad where for<#[cfg(false)] 'a, #[cfg(yes)] T> u8: Copy;
|
||||||
//~^ ERROR only lifetime parameters can be used in this context
|
//~^ ERROR only lifetime parameters can be used in this context
|
||||||
|
|
||||||
fn f_lt_no<#[cfg_attr(FALSE, unknown)] 'a>() {} // OK
|
fn f_lt_no<#[cfg_attr(FALSE, unknown)] 'a>() {} // OK
|
||||||
|
|
|
@ -31,7 +31,7 @@ LL | struct WhereYes where for<#[cfg_attr(yes, unknown)] 'a> u8: Copy;
|
||||||
error[E0658]: only lifetime parameters can be used in this context
|
error[E0658]: only lifetime parameters can be used in this context
|
||||||
--> $DIR/cfg-generic-params.rs:7:48
|
--> $DIR/cfg-generic-params.rs:7:48
|
||||||
|
|
|
|
||||||
LL | type FnBad = for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> fn();
|
LL | type FnBad = for<#[cfg(false)] 'a, #[cfg(yes)] T> fn();
|
||||||
| ^
|
| ^
|
||||||
|
|
|
|
||||||
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
|
||||||
|
@ -41,7 +41,7 @@ LL | type FnBad = for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> fn();
|
||||||
error[E0658]: only lifetime parameters can be used in this context
|
error[E0658]: only lifetime parameters can be used in this context
|
||||||
--> $DIR/cfg-generic-params.rs:11:54
|
--> $DIR/cfg-generic-params.rs:11:54
|
||||||
|
|
|
|
||||||
LL | type PolyBad = dyn for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> Copy;
|
LL | type PolyBad = dyn for<#[cfg(false)] 'a, #[cfg(yes)] T> Copy;
|
||||||
| ^
|
| ^
|
||||||
|
|
|
|
||||||
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
|
||||||
|
@ -51,7 +51,7 @@ LL | type PolyBad = dyn for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> Copy;
|
||||||
error[E0658]: only lifetime parameters can be used in this context
|
error[E0658]: only lifetime parameters can be used in this context
|
||||||
--> $DIR/cfg-generic-params.rs:15:57
|
--> $DIR/cfg-generic-params.rs:15:57
|
||||||
|
|
|
|
||||||
LL | struct WhereBad where for<#[cfg(FALSE)] 'a, #[cfg(yes)] T> u8: Copy;
|
LL | struct WhereBad where for<#[cfg(false)] 'a, #[cfg(yes)] T> u8: Copy;
|
||||||
| ^
|
| ^
|
||||||
|
|
|
|
||||||
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#![cfg(FALSE)] //~ ERROR `main` function not found in crate `cfg_in_crate_1`
|
#![cfg(false)] //~ ERROR `main` function not found in crate `cfg_in_crate_1`
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
error[E0601]: `main` function not found in crate `cfg_in_crate_1`
|
error[E0601]: `main` function not found in crate `cfg_in_crate_1`
|
||||||
--> $DIR/cfg-in-crate-1.rs:1:15
|
--> $DIR/cfg-in-crate-1.rs:1:15
|
||||||
|
|
|
|
||||||
LL | #![cfg(FALSE)]
|
LL | #![cfg(false)]
|
||||||
| ^ consider adding a `main` function to `$DIR/cfg-in-crate-1.rs`
|
| ^ consider adding a `main` function to `$DIR/cfg-in-crate-1.rs`
|
||||||
|
|
||||||
error: aborting due to 1 previous error
|
error: aborting due to 1 previous error
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
#![feature(custom_test_frameworks)]
|
#![feature(custom_test_frameworks)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _ = #[cfg(FALSE)] ();
|
let _ = #[cfg(false)] ();
|
||||||
//~^ ERROR removing an expression is not supported in this position
|
//~^ ERROR removing an expression is not supported in this position
|
||||||
let _ = 1 + 2 + #[cfg(FALSE)] 3;
|
let _ = 1 + 2 + #[cfg(false)] 3;
|
||||||
//~^ ERROR removing an expression is not supported in this position
|
//~^ ERROR removing an expression is not supported in this position
|
||||||
let _ = [1, 2, 3][#[cfg(FALSE)] 1];
|
let _ = [1, 2, 3][#[cfg(false)] 1];
|
||||||
//~^ ERROR removing an expression is not supported in this position
|
//~^ ERROR removing an expression is not supported in this position
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
error: removing an expression is not supported in this position
|
error: removing an expression is not supported in this position
|
||||||
--> $DIR/cfg-non-opt-expr.rs:5:13
|
--> $DIR/cfg-non-opt-expr.rs:5:13
|
||||||
|
|
|
|
||||||
LL | let _ = #[cfg(FALSE)] ();
|
LL | let _ = #[cfg(false)] ();
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: removing an expression is not supported in this position
|
error: removing an expression is not supported in this position
|
||||||
--> $DIR/cfg-non-opt-expr.rs:7:21
|
--> $DIR/cfg-non-opt-expr.rs:7:21
|
||||||
|
|
|
|
||||||
LL | let _ = 1 + 2 + #[cfg(FALSE)] 3;
|
LL | let _ = 1 + 2 + #[cfg(false)] 3;
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: removing an expression is not supported in this position
|
error: removing an expression is not supported in this position
|
||||||
--> $DIR/cfg-non-opt-expr.rs:9:23
|
--> $DIR/cfg-non-opt-expr.rs:9:23
|
||||||
|
|
|
|
||||||
LL | let _ = [1, 2, 3][#[cfg(FALSE)] 1];
|
LL | let _ = [1, 2, 3][#[cfg(false)] 1];
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 3 previous errors
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
//@ ignore-test (auxiliary, used by other tests)
|
//@ ignore-test (auxiliary, used by other tests)
|
||||||
|
|
||||||
#![cfg_attr(all(), cfg(FALSE))]
|
#![cfg_attr(all(), cfg(false))]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn container() {
|
fn container() {
|
||||||
const unsafe WhereIsFerris Now() {}
|
const unsafe WhereIsFerris Now() {}
|
||||||
//~^ ERROR expected one of `extern` or `fn`
|
//~^ ERROR expected one of `extern` or `fn`
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn container() {
|
fn container() {
|
||||||
const extern "Rust" PUT_ANYTHING_YOU_WANT_HERE bug() -> usize { 1 }
|
const extern "Rust" PUT_ANYTHING_YOU_WANT_HERE bug() -> usize { 1 }
|
||||||
//~^ ERROR expected `fn`
|
//~^ ERROR expected `fn`
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
mod to_reuse {
|
mod to_reuse {
|
||||||
use crate::S;
|
use crate::S;
|
||||||
|
|
||||||
pub fn foo<'a>(#[cfg(FALSE)] a: u8, _b: &'a S) -> u32 {
|
pub fn foo<'a>(#[cfg(false)] a: u8, _b: &'a S) -> u32 {
|
||||||
1
|
1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#![feature(stmt_expr_attributes)]
|
#![feature(stmt_expr_attributes)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _ = #[cfg(FALSE)] if true {}; //~ ERROR removing an expression
|
let _ = #[cfg(false)] if true {}; //~ ERROR removing an expression
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
error: removing an expression is not supported in this position
|
error: removing an expression is not supported in this position
|
||||||
--> $DIR/bad-cfg.rs:4:13
|
--> $DIR/bad-cfg.rs:4:13
|
||||||
|
|
|
|
||||||
LL | let _ = #[cfg(FALSE)] if true {};
|
LL | let _ = #[cfg(false)] if true {};
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 1 previous error
|
error: aborting due to 1 previous error
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
//@ check-pass
|
//@ check-pass
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn simple_attr() {
|
fn simple_attr() {
|
||||||
#[attr] if true {}
|
#[attr] if true {}
|
||||||
#[allow_warnings] if true {}
|
#[allow_warnings] if true {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn if_else_chain() {
|
fn if_else_chain() {
|
||||||
#[first_attr] if true {
|
#[first_attr] if true {
|
||||||
} else if false {
|
} else if false {
|
||||||
|
@ -14,20 +14,20 @@ fn if_else_chain() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn if_let() {
|
fn if_let() {
|
||||||
#[attr] if let Some(_) = Some(true) {}
|
#[attr] if let Some(_) = Some(true) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bar() {
|
fn bar() {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
if true {
|
if true {
|
||||||
let x: () = true; // Should not error due to the #[cfg(FALSE)]
|
let x: () = true; // Should not error due to the #[cfg(false)]
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(not(FALSE), cfg(FALSE))]
|
#[cfg_attr(not(FALSE), cfg(false))]
|
||||||
if true {
|
if true {
|
||||||
let a: () = true; // Should not error due to the applied #[cfg(FALSE)]
|
let a: () = true; // Should not error due to the applied #[cfg(false)]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn if_else_parse_error() {
|
fn if_else_parse_error() {
|
||||||
if true {
|
if true {
|
||||||
} #[attr] else if false { //~ ERROR expected
|
} #[attr] else if false { //~ ERROR expected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn else_attr_ifparse_error() {
|
fn else_attr_ifparse_error() {
|
||||||
if true {
|
if true {
|
||||||
} else #[attr] if false { //~ ERROR outer attributes are not allowed
|
} else #[attr] if false { //~ ERROR outer attributes are not allowed
|
||||||
|
@ -13,7 +13,7 @@ fn else_attr_ifparse_error() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn else_parse_error() {
|
fn else_parse_error() {
|
||||||
if true {
|
if true {
|
||||||
} else if false {
|
} else if false {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
fn main() {
|
fn main() {
|
||||||
let x = 1;
|
let x = 1;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
if false {
|
if false {
|
||||||
x = 2;
|
x = 2;
|
||||||
} else if true {
|
} else if true {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#![feature(let_chains)]
|
#![feature(let_chains)]
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn foo() {
|
fn foo() {
|
||||||
#[attr]
|
#[attr]
|
||||||
if let Some(_) = Some(true) && let Ok(_) = Ok(1) {
|
if let Some(_) = Some(true) && let Ok(_) = Ok(1) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ fn main() {
|
||||||
//~^^ ERROR `yield` can only be used
|
//~^^ ERROR `yield` can only be used
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn foo() {
|
fn foo() {
|
||||||
// Ok in 2024 edition
|
// Ok in 2024 edition
|
||||||
yield; //~ ERROR yield syntax is experimental
|
yield; //~ ERROR yield syntax is experimental
|
||||||
|
|
|
@ -4,6 +4,6 @@ fn main() {
|
||||||
println!("x: {}", x);
|
println!("x: {}", x);
|
||||||
|
|
||||||
// `box` syntax is allowed to be cfg-ed out for historical reasons (#65742).
|
// `box` syntax is allowed to be cfg-ed out for historical reasons (#65742).
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
let box _x = Box::new('c');
|
let box _x = Box::new('c');
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ fn test_async_gen() {
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn foo() {
|
fn foo() {
|
||||||
gen {};
|
gen {};
|
||||||
//[e2024]~^ ERROR: gen blocks are experimental
|
//[e2024]~^ ERROR: gen blocks are experimental
|
||||||
|
|
|
@ -30,7 +30,7 @@ fn other_guards_dont() {
|
||||||
while let (x if guard(x)) = 0 {}
|
while let (x if guard(x)) = 0 {}
|
||||||
//~^ ERROR: guard patterns are experimental
|
//~^ ERROR: guard patterns are experimental
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
while let (x if guard(x)) = 0 {}
|
while let (x if guard(x)) = 0 {}
|
||||||
//~^ ERROR: guard patterns are experimental
|
//~^ ERROR: guard patterns are experimental
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,8 @@ fn main() {
|
||||||
let mut ref mut z = 14; //~ ERROR [E0658]
|
let mut ref mut z = 14; //~ ERROR [E0658]
|
||||||
z = &mut 15;
|
z = &mut 15;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
let mut ref x = 10; //~ ERROR [E0658]
|
let mut ref x = 10; //~ ERROR [E0658]
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
let mut ref mut y = 10; //~ ERROR [E0658]
|
let mut ref mut y = 10; //~ ERROR [E0658]
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,12 +15,12 @@ fn main() {
|
||||||
//~^ ERROR `!` patterns are experimental
|
//~^ ERROR `!` patterns are experimental
|
||||||
}
|
}
|
||||||
// Check that the gate operates even behind `cfg`.
|
// Check that the gate operates even behind `cfg`.
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
match *ptr {
|
match *ptr {
|
||||||
!
|
!
|
||||||
//~^ ERROR `!` patterns are experimental
|
//~^ ERROR `!` patterns are experimental
|
||||||
}
|
}
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
match *ptr {
|
match *ptr {
|
||||||
! => {}
|
! => {}
|
||||||
//~^ ERROR `!` patterns are experimental
|
//~^ ERROR `!` patterns are experimental
|
||||||
|
@ -60,13 +60,13 @@ fn main() {
|
||||||
// Check that the gate operates even behind `cfg`.
|
// Check that the gate operates even behind `cfg`.
|
||||||
match Some(0) {
|
match Some(0) {
|
||||||
None => {}
|
None => {}
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
Some(_)
|
Some(_)
|
||||||
//~^ ERROR `match` arm with no body
|
//~^ ERROR `match` arm with no body
|
||||||
}
|
}
|
||||||
match Some(0) {
|
match Some(0) {
|
||||||
_ => {}
|
_ => {}
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
Some(_) if false
|
Some(_) if false
|
||||||
//~^ ERROR `match` arm with no body
|
//~^ ERROR `match` arm with no body
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ fn main() {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Test that the gate works behind a cfg
|
// Test that the gate works behind a cfg
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
val.match { //~ ERROR postfix match is experimental
|
val.match { //~ ERROR postfix match is experimental
|
||||||
Some(42) => "the answer to life, the universe, and everything",
|
Some(42) => "the answer to life, the universe, and everything",
|
||||||
_ => "might be the answer to something"
|
_ => "might be the answer to something"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
//@ compile-flags: --edition 2021
|
//@ compile-flags: --edition 2021
|
||||||
|
|
||||||
pub fn demo() -> Option<i32> {
|
pub fn demo() -> Option<i32> {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
{
|
{
|
||||||
do yeet //~ ERROR `do yeet` expression is experimental
|
do yeet //~ ERROR `do yeet` expression is experimental
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ pub fn demo() -> Option<i32> {
|
||||||
Some(1)
|
Some(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
pub fn alternative() -> Result<(), String> {
|
pub fn alternative() -> Result<(), String> {
|
||||||
do yeet "hello"; //~ ERROR `do yeet` expression is experimental
|
do yeet "hello"; //~ ERROR `do yeet` expression is experimental
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
macro a() {}
|
macro a() {}
|
||||||
//~^ ERROR: `macro` is experimental
|
//~^ ERROR: `macro` is experimental
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
macro b() {}
|
macro b() {}
|
||||||
|
|
||||||
macro_rules! identity {
|
macro_rules! identity {
|
||||||
|
@ -17,13 +17,13 @@ identity! {
|
||||||
//~^ ERROR: `macro` is experimental
|
//~^ ERROR: `macro` is experimental
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
identity! {
|
identity! {
|
||||||
macro d() {} // No error
|
macro d() {} // No error
|
||||||
}
|
}
|
||||||
|
|
||||||
identity! {
|
identity! {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
macro e() {}
|
macro e() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// This file is used to test the behavior of the early-pass syntax warnings.
|
// This file is used to test the behavior of the early-pass syntax warnings.
|
||||||
// If macro syntax is stabilized, replace with a different unstable syntax.
|
// If macro syntax is stabilized, replace with a different unstable syntax.
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
macro b() {}
|
macro b() {}
|
||||||
//~^ WARN: `macro` is experimental
|
//~^ WARN: `macro` is experimental
|
||||||
//~| WARN: unstable syntax
|
//~| WARN: unstable syntax
|
||||||
|
@ -11,13 +11,13 @@ macro_rules! identity {
|
||||||
($($x:tt)*) => ($($x)*);
|
($($x:tt)*) => ($($x)*);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
identity! {
|
identity! {
|
||||||
macro d() {} // No error
|
macro d() {} // No error
|
||||||
}
|
}
|
||||||
|
|
||||||
identity! {
|
identity! {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
macro e() {}
|
macro e() {}
|
||||||
//~^ WARN: `macro` is experimental
|
//~^ WARN: `macro` is experimental
|
||||||
//~| WARN: unstable syntax
|
//~| WARN: unstable syntax
|
||||||
|
|
|
@ -25,7 +25,7 @@ fn main() {
|
||||||
|
|
||||||
// Check that cfg works right
|
// Check that cfg works right
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn c() {
|
fn c() {
|
||||||
#[rustc_dummy]
|
#[rustc_dummy]
|
||||||
5;
|
5;
|
||||||
|
@ -37,7 +37,7 @@ fn j() {
|
||||||
5;
|
5;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(not(FALSE), cfg(FALSE))]
|
#[cfg_attr(not(FALSE), cfg(false))]
|
||||||
fn d() {
|
fn d() {
|
||||||
#[rustc_dummy]
|
#[rustc_dummy]
|
||||||
8;
|
8;
|
||||||
|
@ -57,7 +57,7 @@ macro_rules! item_mac {
|
||||||
#[rustc_dummy]
|
#[rustc_dummy]
|
||||||
42;
|
42;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn f() {
|
fn f() {
|
||||||
#[rustc_dummy]
|
#[rustc_dummy]
|
||||||
5;
|
5;
|
||||||
|
@ -69,7 +69,7 @@ macro_rules! item_mac {
|
||||||
5;
|
5;
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(not(FALSE), cfg(FALSE))]
|
#[cfg_attr(not(FALSE), cfg(false))]
|
||||||
fn g() {
|
fn g() {
|
||||||
#[rustc_dummy]
|
#[rustc_dummy]
|
||||||
8;
|
8;
|
||||||
|
@ -90,42 +90,42 @@ item_mac!(e);
|
||||||
// check that the gate visitor works right:
|
// check that the gate visitor works right:
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn x(a: [u8; #[rustc_dummy] 5]);
|
fn x(a: [u8; #[rustc_dummy] 5]);
|
||||||
fn y(a: [u8; #[rustc_dummy] 5]); //~ ERROR attributes on expressions are experimental
|
fn y(a: [u8; #[rustc_dummy] 5]); //~ ERROR attributes on expressions are experimental
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Foo;
|
struct Foo;
|
||||||
impl Foo {
|
impl Foo {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
const X: u8 = #[rustc_dummy] 5;
|
const X: u8 = #[rustc_dummy] 5;
|
||||||
const Y: u8 = #[rustc_dummy] 5; //~ ERROR attributes on expressions are experimental
|
const Y: u8 = #[rustc_dummy] 5; //~ ERROR attributes on expressions are experimental
|
||||||
}
|
}
|
||||||
|
|
||||||
trait Bar {
|
trait Bar {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
const X: [u8; #[rustc_dummy] 5];
|
const X: [u8; #[rustc_dummy] 5];
|
||||||
const Y: [u8; #[rustc_dummy] 5]; //~ ERROR attributes on expressions are experimental
|
const Y: [u8; #[rustc_dummy] 5]; //~ ERROR attributes on expressions are experimental
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Joyce {
|
struct Joyce {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
field: [u8; #[rustc_dummy] 5],
|
field: [u8; #[rustc_dummy] 5],
|
||||||
field2: [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
field2: [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Walky(
|
struct Walky(
|
||||||
#[cfg(FALSE)] [u8; #[rustc_dummy] 5],
|
#[cfg(false)] [u8; #[rustc_dummy] 5],
|
||||||
[u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
[u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
||||||
);
|
);
|
||||||
|
|
||||||
enum Mike {
|
enum Mike {
|
||||||
Happy(
|
Happy(
|
||||||
#[cfg(FALSE)] [u8; #[rustc_dummy] 5],
|
#[cfg(false)] [u8; #[rustc_dummy] 5],
|
||||||
[u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
[u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
||||||
),
|
),
|
||||||
Angry {
|
Angry {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
field: [u8; #[rustc_dummy] 5],
|
field: [u8; #[rustc_dummy] 5],
|
||||||
field2: [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
field2: [u8; #[rustc_dummy] 5] //~ ERROR attributes on expressions are experimental
|
||||||
}
|
}
|
||||||
|
@ -133,7 +133,7 @@ enum Mike {
|
||||||
|
|
||||||
fn pat() {
|
fn pat() {
|
||||||
match 5 {
|
match 5 {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
5 => #[rustc_dummy] (),
|
5 => #[rustc_dummy] (),
|
||||||
6 => #[rustc_dummy] (), //~ ERROR attributes on expressions are experimental
|
6 => #[rustc_dummy] (), //~ ERROR attributes on expressions are experimental
|
||||||
_ => (),
|
_ => (),
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
// Make sure that this view item is filtered out because otherwise it would
|
// Make sure that this view item is filtered out because otherwise it would
|
||||||
// trigger a compilation error
|
// trigger a compilation error
|
||||||
#[cfg(FALSE)] use bar as foo;
|
#[cfg(false)] use bar as foo;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
match scrutinee {
|
match scrutinee {
|
||||||
...X => {} //~ ERROR range-to patterns with `...` are not allowed
|
...X => {} //~ ERROR range-to patterns with `...` are not allowed
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn foo() {
|
fn foo() {
|
||||||
if let 0... = 1 {} //~ ERROR inclusive range with no end
|
if let 0... = 1 {} //~ ERROR inclusive range with no end
|
||||||
if let 0..= = 1 {} //~ ERROR inclusive range with no end
|
if let 0..= = 1 {} //~ ERROR inclusive range with no end
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
match &0 {
|
match &0 {
|
||||||
&0.. | _ => {}
|
&0.. | _ => {}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
match scrutinee {
|
match scrutinee {
|
||||||
X.. | 0.. | 'a'.. | 0.0f32.. => {}
|
X.. | 0.. | 'a'.. | 0.0f32.. => {}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
struct Foo;
|
struct Foo;
|
||||||
|
|
||||||
impl Foo {
|
impl Foo {
|
||||||
#![cfg(FALSE)]
|
#![cfg(false)]
|
||||||
|
|
||||||
fn method(&self) -> bool { false }
|
fn method(&self) -> bool { false }
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ impl Foo {
|
||||||
#![cfg(not(FALSE))]
|
#![cfg(not(FALSE))]
|
||||||
|
|
||||||
// check that we don't eat attributes too eagerly.
|
// check that we don't eat attributes too eagerly.
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn method(&self) -> bool { false }
|
fn method(&self) -> bool { false }
|
||||||
|
|
||||||
fn method(&self) -> bool { true }
|
fn method(&self) -> bool { true }
|
||||||
|
|
|
@ -9,7 +9,7 @@ unsafe fn access(n:*mut A) -> (i32, f64) {
|
||||||
(x, y)
|
(x, y)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
unsafe fn access(n:*mut A) -> (i32, f64) {
|
unsafe fn access(n:*mut A) -> (i32, f64) {
|
||||||
let x : i32 = (*n).x;
|
let x : i32 = (*n).x;
|
||||||
let y : f64 = (*n).y;
|
let y : f64 = (*n).y;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
|
|
||||||
struct Foo {
|
struct Foo {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
bar: baz,
|
bar: baz,
|
||||||
foo: isize,
|
foo: isize,
|
||||||
}
|
}
|
||||||
|
@ -15,18 +15,18 @@ struct Foo2 {
|
||||||
|
|
||||||
enum Bar1 {
|
enum Bar1 {
|
||||||
Bar1_1,
|
Bar1_1,
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
Bar1_2(NotAType),
|
Bar1_2(NotAType),
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Bar2 {
|
enum Bar2 {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
Bar2_1(NotAType),
|
Bar2_1(NotAType),
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Bar3 {
|
enum Bar3 {
|
||||||
Bar3_1 {
|
Bar3_1 {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
foo: isize,
|
foo: isize,
|
||||||
bar: isize,
|
bar: isize,
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// `#[cfg]` on struct field permits empty unusable struct
|
// `#[cfg]` on struct field permits empty unusable struct
|
||||||
|
|
||||||
struct S {
|
struct S {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
a: int,
|
a: int,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ const _: () = sink! {
|
||||||
|
|
||||||
// The invalid literals used to cause errors, but this was changed by #102944.
|
// The invalid literals used to cause errors, but this was changed by #102944.
|
||||||
// Except for `0b010.0f32`, because it's a lexer error.
|
// Except for `0b010.0f32`, because it's a lexer error.
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn configured_out() {
|
fn configured_out() {
|
||||||
"string"any_suffix; // OK
|
"string"any_suffix; // OK
|
||||||
10u123; // OK
|
10u123; // OK
|
||||||
|
|
|
@ -9,7 +9,7 @@ extern "C" {}
|
||||||
#[link(name = "foo", name = "bar")] //~ ERROR multiple `name` arguments
|
#[link(name = "foo", name = "bar")] //~ ERROR multiple `name` arguments
|
||||||
#[link(name = "...", kind = "dylib", kind = "bar")] //~ ERROR multiple `kind` arguments
|
#[link(name = "...", kind = "dylib", kind = "bar")] //~ ERROR multiple `kind` arguments
|
||||||
#[link(name = "...", modifiers = "+verbatim", modifiers = "bar")] //~ ERROR multiple `modifiers` arguments
|
#[link(name = "...", modifiers = "+verbatim", modifiers = "bar")] //~ ERROR multiple `modifiers` arguments
|
||||||
#[link(name = "...", cfg(FALSE), cfg(FALSE))] //~ ERROR multiple `cfg` arguments
|
#[link(name = "...", cfg(false), cfg(false))] //~ ERROR multiple `cfg` arguments
|
||||||
#[link(wasm_import_module = "foo", wasm_import_module = "bar")] //~ ERROR multiple `wasm_import_module` arguments
|
#[link(wasm_import_module = "foo", wasm_import_module = "bar")] //~ ERROR multiple `wasm_import_module` arguments
|
||||||
extern "C" {}
|
extern "C" {}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ LL | #[link(name = "...", modifiers = "+verbatim", modifiers = "bar")]
|
||||||
error: multiple `cfg` arguments in a single `#[link]` attribute
|
error: multiple `cfg` arguments in a single `#[link]` attribute
|
||||||
--> $DIR/link-attr-validation-late.rs:12:34
|
--> $DIR/link-attr-validation-late.rs:12:34
|
||||||
|
|
|
|
||||||
LL | #[link(name = "...", cfg(FALSE), cfg(FALSE))]
|
LL | #[link(name = "...", cfg(false), cfg(false))]
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
error: multiple `wasm_import_module` arguments in a single `#[link]` attribute
|
error: multiple `wasm_import_module` arguments in a single `#[link]` attribute
|
||||||
|
|
|
@ -17,7 +17,7 @@ macro_rules! foo2 {
|
||||||
() => {};
|
() => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
macro_rules! foo {
|
macro_rules! foo {
|
||||||
() => {};
|
() => {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
macro_rules! expand_it {
|
macro_rules! expand_it {
|
||||||
() => {
|
() => {
|
||||||
#[cfg(FALSE)] 25; //~ WARN trailing semicolon in macro
|
#[cfg(false)] 25; //~ WARN trailing semicolon in macro
|
||||||
//~| WARN this was previously
|
//~| WARN this was previously
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
warning: trailing semicolon in macro used in expression position
|
warning: trailing semicolon in macro used in expression position
|
||||||
--> $DIR/lint-trailing-macro-call.rs:9:25
|
--> $DIR/lint-trailing-macro-call.rs:9:25
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] 25;
|
LL | #[cfg(false)] 25;
|
||||||
| ^
|
| ^
|
||||||
...
|
...
|
||||||
LL | expand_it!()
|
LL | expand_it!()
|
||||||
|
@ -20,7 +20,7 @@ Future incompatibility report: Future breakage diagnostic:
|
||||||
warning: trailing semicolon in macro used in expression position
|
warning: trailing semicolon in macro used in expression position
|
||||||
--> $DIR/lint-trailing-macro-call.rs:9:25
|
--> $DIR/lint-trailing-macro-call.rs:9:25
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] 25;
|
LL | #[cfg(false)] 25;
|
||||||
| ^
|
| ^
|
||||||
...
|
...
|
||||||
LL | expand_it!()
|
LL | expand_it!()
|
||||||
|
|
|
@ -9,7 +9,7 @@ macro_rules! compiles_fine {
|
||||||
|
|
||||||
// check that the attributes are recognised by requiring this
|
// check that the attributes are recognised by requiring this
|
||||||
// to be removed to avoid a compile error
|
// to be removed to avoid a compile error
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
static MISTYPED: () = "foo";
|
static MISTYPED: () = "foo";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ macro_rules! test { ($nm:ident,
|
||||||
$i:item) => (mod $nm { #![$a] $i }); }
|
$i:item) => (mod $nm { #![$a] $i }); }
|
||||||
|
|
||||||
test!(a,
|
test!(a,
|
||||||
#[cfg(FALSE)],
|
#[cfg(false)],
|
||||||
pub fn bar() { });
|
pub fn bar() { });
|
||||||
|
|
||||||
test!(b,
|
test!(b,
|
||||||
|
|
|
@ -5,7 +5,7 @@ macro_rules! test { ($nm:ident,
|
||||||
$i:item) => (mod $nm { #[$a] $i }); }
|
$i:item) => (mod $nm { #[$a] $i }); }
|
||||||
|
|
||||||
test!(a,
|
test!(a,
|
||||||
#[cfg(FALSE)],
|
#[cfg(false)],
|
||||||
pub fn bar() { });
|
pub fn bar() { });
|
||||||
|
|
||||||
test!(b,
|
test!(b,
|
||||||
|
|
|
@ -16,7 +16,7 @@ LL | $i:item) => (mod $nm { #[$a] $i }); }
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
LL |
|
LL |
|
||||||
LL | / test!(a,
|
LL | / test!(a,
|
||||||
LL | | #[cfg(FALSE)],
|
LL | | #[cfg(false)],
|
||||||
LL | | pub fn bar() { });
|
LL | | pub fn bar() { });
|
||||||
| |_______________________- in this macro invocation
|
| |_______________________- in this macro invocation
|
||||||
= note: this error originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//@ run-pass
|
//@ run-pass
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
macro_rules! foo { () => (1) }
|
macro_rules! foo { () => (1) }
|
||||||
|
|
||||||
#[cfg(not(FALSE))]
|
#[cfg(not(FALSE))]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#[cfg_attr(all(), cfg_attr(all(), cfg(FALSE)))]
|
#[cfg_attr(all(), cfg_attr(all(), cfg(false)))]
|
||||||
fn f() {}
|
fn f() {}
|
||||||
|
|
||||||
fn main() { f() } //~ ERROR cannot find function `f` in this scope
|
fn main() { f() } //~ ERROR cannot find function `f` in this scope
|
||||||
|
|
|
@ -9,5 +9,5 @@ fn main() {}
|
||||||
enum E { A, B }
|
enum E { A, B }
|
||||||
use E::*;
|
use E::*;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn fun1((A | B): E) {} //~ ERROR top-level or-patterns are not allowed
|
fn fun1((A | B): E) {} //~ ERROR top-level or-patterns are not allowed
|
||||||
|
|
|
@ -9,5 +9,5 @@ fn main() {}
|
||||||
enum E { A, B }
|
enum E { A, B }
|
||||||
use E::*;
|
use E::*;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn fun1(A | B: E) {} //~ ERROR top-level or-patterns are not allowed
|
fn fun1(A | B: E) {} //~ ERROR top-level or-patterns are not allowed
|
||||||
|
|
|
@ -18,7 +18,7 @@ accept_pat!([p | q]);
|
||||||
|
|
||||||
// Non-macro tests:
|
// Non-macro tests:
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn or_patterns() {
|
fn or_patterns() {
|
||||||
// Top level of `let`:
|
// Top level of `let`:
|
||||||
let (| A | B);
|
let (| A | B);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn leading() {
|
fn leading() {
|
||||||
fn fun1( A: E) {} //~ ERROR top-level or-patterns are not allowed
|
fn fun1( A: E) {} //~ ERROR top-level or-patterns are not allowed
|
||||||
fn fun2( A: E) {} //~ ERROR unexpected `||` before function parameter
|
fn fun2( A: E) {} //~ ERROR unexpected `||` before function parameter
|
||||||
|
@ -21,7 +21,7 @@ fn leading() {
|
||||||
let NS { f: | A }: NS; //~ ERROR unexpected token `||` in pattern
|
let NS { f: | A }: NS; //~ ERROR unexpected token `||` in pattern
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn trailing() {
|
fn trailing() {
|
||||||
let ( A ): E; //~ ERROR a trailing `|` is not allowed in an or-pattern
|
let ( A ): E; //~ ERROR a trailing `|` is not allowed in an or-pattern
|
||||||
let (a ,): (E,); //~ ERROR a trailing `|` is not allowed in an or-pattern
|
let (a ,): (E,); //~ ERROR a trailing `|` is not allowed in an or-pattern
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn leading() {
|
fn leading() {
|
||||||
fn fun1( | A: E) {} //~ ERROR top-level or-patterns are not allowed
|
fn fun1( | A: E) {} //~ ERROR top-level or-patterns are not allowed
|
||||||
fn fun2( || A: E) {} //~ ERROR unexpected `||` before function parameter
|
fn fun2( || A: E) {} //~ ERROR unexpected `||` before function parameter
|
||||||
|
@ -21,7 +21,7 @@ fn leading() {
|
||||||
let NS { f: || A }: NS; //~ ERROR unexpected token `||` in pattern
|
let NS { f: || A }: NS; //~ ERROR unexpected token `||` in pattern
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn trailing() {
|
fn trailing() {
|
||||||
let ( A | ): E; //~ ERROR a trailing `|` is not allowed in an or-pattern
|
let ( A | ): E; //~ ERROR a trailing `|` is not allowed in an or-pattern
|
||||||
let (a |,): (E,); //~ ERROR a trailing `|` is not allowed in an or-pattern
|
let (a |,): (E,); //~ ERROR a trailing `|` is not allowed in an or-pattern
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
const _: () = {
|
const _: () = {
|
||||||
pub trait A {
|
pub trait A {
|
||||||
const _: () = ();
|
const _: () = ();
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
impl S {
|
impl S {
|
||||||
static IA: u8 = 0; //~ ERROR associated `static` items are not allowed
|
static IA: u8 = 0; //~ ERROR associated `static` items are not allowed
|
||||||
static IB: u8; //~ ERROR associated `static` items are not allowed
|
static IB: u8; //~ ERROR associated `static` items are not allowed
|
||||||
|
@ -12,7 +12,7 @@ impl S {
|
||||||
//~^ ERROR a static item cannot be `default`
|
//~^ ERROR a static item cannot be `default`
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
trait T {
|
trait T {
|
||||||
static TA: u8 = 0; //~ ERROR associated `static` items are not allowed
|
static TA: u8 = 0; //~ ERROR associated `static` items are not allowed
|
||||||
static TB: u8; //~ ERROR associated `static` items are not allowed
|
static TB: u8; //~ ERROR associated `static` items are not allowed
|
||||||
|
@ -22,7 +22,7 @@ trait T {
|
||||||
//~^ ERROR a static item cannot be `default`
|
//~^ ERROR a static item cannot be `default`
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
impl T for S {
|
impl T for S {
|
||||||
static TA: u8 = 0; //~ ERROR associated `static` items are not allowed
|
static TA: u8 = 0; //~ ERROR associated `static` items are not allowed
|
||||||
static TB: u8; //~ ERROR associated `static` items are not allowed
|
static TB: u8; //~ ERROR associated `static` items are not allowed
|
||||||
|
|
|
@ -1,108 +1,108 @@
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)] fn e() { let _ = [#[attr]]; }
|
#[cfg(false)] fn e() { let _ = [#[attr]]; }
|
||||||
//~^ ERROR expected expression, found `]`
|
//~^ ERROR expected expression, found `]`
|
||||||
#[cfg(FALSE)] fn e() { let _ = foo#[attr](); }
|
#[cfg(false)] fn e() { let _ = foo#[attr](); }
|
||||||
//~^ ERROR expected one of
|
//~^ ERROR expected one of
|
||||||
#[cfg(FALSE)] fn e() { let _ = foo(#![attr]); }
|
#[cfg(false)] fn e() { let _ = foo(#![attr]); }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
//~| ERROR an inner attribute is not permitted in this context
|
//~| ERROR an inner attribute is not permitted in this context
|
||||||
//~| ERROR expected expression, found `)`
|
//~| ERROR expected expression, found `)`
|
||||||
#[cfg(FALSE)] fn e() { let _ = x.foo(#![attr]); }
|
#[cfg(false)] fn e() { let _ = x.foo(#![attr]); }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
//~| ERROR expected expression, found `)`
|
//~| ERROR expected expression, found `)`
|
||||||
#[cfg(FALSE)] fn e() { let _ = 0 + #![attr] 0; }
|
#[cfg(false)] fn e() { let _ = 0 + #![attr] 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = !#![attr] 0; }
|
#[cfg(false)] fn e() { let _ = !#![attr] 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = -#![attr] 0; }
|
#[cfg(false)] fn e() { let _ = -#![attr] 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = x #![attr] as Y; }
|
#[cfg(false)] fn e() { let _ = x #![attr] as Y; }
|
||||||
//~^ ERROR expected one of
|
//~^ ERROR expected one of
|
||||||
#[cfg(FALSE)] fn e() { let _ = || #![attr] foo; }
|
#[cfg(false)] fn e() { let _ = || #![attr] foo; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = move || #![attr] foo; }
|
#[cfg(false)] fn e() { let _ = move || #![attr] foo; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = || #![attr] {foo}; }
|
#[cfg(false)] fn e() { let _ = || #![attr] {foo}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = move || #![attr] {foo}; }
|
#[cfg(false)] fn e() { let _ = move || #![attr] {foo}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = #[attr] ..#[attr] 0; }
|
#[cfg(false)] fn e() { let _ = #[attr] ..#[attr] 0; }
|
||||||
//~^ ERROR attributes are not allowed on range expressions starting with `..`
|
//~^ ERROR attributes are not allowed on range expressions starting with `..`
|
||||||
#[cfg(FALSE)] fn e() { let _ = #[attr] ..; }
|
#[cfg(false)] fn e() { let _ = #[attr] ..; }
|
||||||
//~^ ERROR attributes are not allowed on range expressions starting with `..`
|
//~^ ERROR attributes are not allowed on range expressions starting with `..`
|
||||||
#[cfg(FALSE)] fn e() { let _ = #[attr] &#![attr] 0; }
|
#[cfg(false)] fn e() { let _ = #[attr] &#![attr] 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = #[attr] &mut #![attr] 0; }
|
#[cfg(false)] fn e() { let _ = #[attr] &mut #![attr] 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 #[attr] {}; }
|
#[cfg(false)] fn e() { let _ = if 0 #[attr] {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {#![attr]}; }
|
#[cfg(false)] fn e() { let _ = if 0 {#![attr]}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {} #[attr] else {}; }
|
#[cfg(false)] fn e() { let _ = if 0 {} #[attr] else {}; }
|
||||||
//~^ ERROR expected one of
|
//~^ ERROR expected one of
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {} else #[attr] {}; }
|
#[cfg(false)] fn e() { let _ = if 0 {} else #[attr] {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {} else {#![attr]}; }
|
#[cfg(false)] fn e() { let _ = if 0 {} else {#![attr]}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {} else #[attr] if 0 {}; }
|
#[cfg(false)] fn e() { let _ = if 0 {} else #[attr] if 0 {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 #[attr] {}; }
|
#[cfg(false)] fn e() { let _ = if 0 {} else if 0 #[attr] {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 {#![attr]}; }
|
#[cfg(false)] fn e() { let _ = if 0 {} else if 0 {#![attr]}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 #[attr] {}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 #[attr] {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {#![attr]}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {#![attr]}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} #[attr] else {}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {} #[attr] else {}; }
|
||||||
//~^ ERROR expected one of
|
//~^ ERROR expected one of
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else #[attr] {}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {} else #[attr] {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else {#![attr]}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {} else {#![attr]}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else #[attr] if let _ = 0 {}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {} else #[attr] if let _ = 0 {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 #[attr] {}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 #[attr] {}; }
|
||||||
//~^ ERROR outer attributes are not allowed on `if`
|
//~^ ERROR outer attributes are not allowed on `if`
|
||||||
#[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {#![attr]}; }
|
#[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {#![attr]}; }
|
||||||
//~^ ERROR an inner attribute is not permitted in this context
|
//~^ ERROR an inner attribute is not permitted in this context
|
||||||
|
|
||||||
#[cfg(FALSE)] fn s() { #[attr] #![attr] let _ = 0; }
|
#[cfg(false)] fn s() { #[attr] #![attr] let _ = 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
||||||
#[cfg(FALSE)] fn s() { #[attr] #![attr] 0; }
|
#[cfg(false)] fn s() { #[attr] #![attr] 0; }
|
||||||
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
||||||
#[cfg(FALSE)] fn s() { #[attr] #![attr] foo!(); }
|
#[cfg(false)] fn s() { #[attr] #![attr] foo!(); }
|
||||||
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
||||||
#[cfg(FALSE)] fn s() { #[attr] #![attr] foo![]; }
|
#[cfg(false)] fn s() { #[attr] #![attr] foo![]; }
|
||||||
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
||||||
#[cfg(FALSE)] fn s() { #[attr] #![attr] foo!{}; }
|
#[cfg(false)] fn s() { #[attr] #![attr] foo!{}; }
|
||||||
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
//~^ ERROR an inner attribute is not permitted following an outer attribute
|
||||||
|
|
||||||
// FIXME: Allow attributes in pattern constexprs?
|
// FIXME: Allow attributes in pattern constexprs?
|
||||||
// note: requires parens in patterns to allow disambiguation
|
// note: requires parens in patterns to allow disambiguation
|
||||||
|
|
||||||
#[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
#[cfg(false)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
||||||
//~^ ERROR inclusive range with no end
|
//~^ ERROR inclusive range with no end
|
||||||
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
|
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
|
||||||
#[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
#[cfg(false)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
||||||
//~^ ERROR inclusive range with no end
|
//~^ ERROR inclusive range with no end
|
||||||
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
|
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
|
||||||
#[cfg(FALSE)] fn e() { match 0 { 0..=-#[attr] 10 => () } }
|
#[cfg(false)] fn e() { match 0 { 0..=-#[attr] 10 => () } }
|
||||||
//~^ ERROR unexpected token: `#`
|
//~^ ERROR unexpected token: `#`
|
||||||
#[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
#[cfg(false)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
||||||
//~^ ERROR inclusive range with no end
|
//~^ ERROR inclusive range with no end
|
||||||
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
|
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
|
||||||
|
|
||||||
#[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
|
#[cfg(false)] fn e() { let _ = x.#![attr]foo(); }
|
||||||
//~^ ERROR unexpected token: `#`
|
//~^ ERROR unexpected token: `#`
|
||||||
//~| ERROR expected one of `.`
|
//~| ERROR expected one of `.`
|
||||||
#[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
|
#[cfg(false)] fn e() { let _ = x.#[attr]foo(); }
|
||||||
//~^ ERROR unexpected token: `#`
|
//~^ ERROR unexpected token: `#`
|
||||||
//~| ERROR expected one of `.`
|
//~| ERROR expected one of `.`
|
||||||
|
|
||||||
// make sure we don't catch this bug again...
|
// make sure we don't catch this bug again...
|
||||||
#[cfg(FALSE)] fn e() { { fn foo() { #[attr]; } } }
|
#[cfg(false)] fn e() { { fn foo() { #[attr]; } } }
|
||||||
//~^ ERROR expected statement after outer attribute
|
//~^ ERROR expected statement after outer attribute
|
||||||
#[cfg(FALSE)] fn e() { { fn foo() { #[attr] } } }
|
#[cfg(false)] fn e() { { fn foo() { #[attr] } } }
|
||||||
//~^ ERROR expected statement after outer attribute
|
//~^ ERROR expected statement after outer attribute
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
error: expected expression, found `]`
|
error: expected expression, found `]`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:3:40
|
--> $DIR/attr-stmt-expr-attr-bad.rs:3:40
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = [#[attr]]; }
|
LL | #[cfg(false)] fn e() { let _ = [#[attr]]; }
|
||||||
| ^ expected expression
|
| ^ expected expression
|
||||||
|
|
||||||
error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `#`
|
error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:5:35
|
--> $DIR/attr-stmt-expr-attr-bad.rs:5:35
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = foo#[attr](); }
|
LL | #[cfg(false)] fn e() { let _ = foo#[attr](); }
|
||||||
| ^ expected one of 8 possible tokens
|
| ^ expected one of 8 possible tokens
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:7:36
|
--> $DIR/attr-stmt-expr-attr-bad.rs:7:36
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = foo(#![attr]); }
|
LL | #[cfg(false)] fn e() { let _ = foo(#![attr]); }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -22,7 +22,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = foo(#![attr]); }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:7:36
|
--> $DIR/attr-stmt-expr-attr-bad.rs:7:36
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = foo(#![attr]); }
|
LL | #[cfg(false)] fn e() { let _ = foo(#![attr]); }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -32,13 +32,13 @@ LL | #[cfg(FALSE)] fn e() { let _ = foo(#![attr]); }
|
||||||
error: expected expression, found `)`
|
error: expected expression, found `)`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:7:44
|
--> $DIR/attr-stmt-expr-attr-bad.rs:7:44
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = foo(#![attr]); }
|
LL | #[cfg(false)] fn e() { let _ = foo(#![attr]); }
|
||||||
| ^ expected expression
|
| ^ expected expression
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:11:38
|
--> $DIR/attr-stmt-expr-attr-bad.rs:11:38
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x.foo(#![attr]); }
|
LL | #[cfg(false)] fn e() { let _ = x.foo(#![attr]); }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -47,13 +47,13 @@ LL | #[cfg(FALSE)] fn e() { let _ = x.foo(#![attr]); }
|
||||||
error: expected expression, found `)`
|
error: expected expression, found `)`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:11:46
|
--> $DIR/attr-stmt-expr-attr-bad.rs:11:46
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x.foo(#![attr]); }
|
LL | #[cfg(false)] fn e() { let _ = x.foo(#![attr]); }
|
||||||
| ^ expected expression
|
| ^ expected expression
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:14:36
|
--> $DIR/attr-stmt-expr-attr-bad.rs:14:36
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = 0 + #![attr] 0; }
|
LL | #[cfg(false)] fn e() { let _ = 0 + #![attr] 0; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -62,7 +62,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = 0 + #![attr] 0; }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:16:33
|
--> $DIR/attr-stmt-expr-attr-bad.rs:16:33
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = !#![attr] 0; }
|
LL | #[cfg(false)] fn e() { let _ = !#![attr] 0; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -71,7 +71,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = !#![attr] 0; }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:18:33
|
--> $DIR/attr-stmt-expr-attr-bad.rs:18:33
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = -#![attr] 0; }
|
LL | #[cfg(false)] fn e() { let _ = -#![attr] 0; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -80,13 +80,13 @@ LL | #[cfg(FALSE)] fn e() { let _ = -#![attr] 0; }
|
||||||
error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `#`
|
error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:20:34
|
--> $DIR/attr-stmt-expr-attr-bad.rs:20:34
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x #![attr] as Y; }
|
LL | #[cfg(false)] fn e() { let _ = x #![attr] as Y; }
|
||||||
| ^ expected one of 8 possible tokens
|
| ^ expected one of 8 possible tokens
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:22:35
|
--> $DIR/attr-stmt-expr-attr-bad.rs:22:35
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = || #![attr] foo; }
|
LL | #[cfg(false)] fn e() { let _ = || #![attr] foo; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -95,7 +95,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = || #![attr] foo; }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:24:40
|
--> $DIR/attr-stmt-expr-attr-bad.rs:24:40
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = move || #![attr] foo; }
|
LL | #[cfg(false)] fn e() { let _ = move || #![attr] foo; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -104,7 +104,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = move || #![attr] foo; }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:26:35
|
--> $DIR/attr-stmt-expr-attr-bad.rs:26:35
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = || #![attr] {foo}; }
|
LL | #[cfg(false)] fn e() { let _ = || #![attr] {foo}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -113,7 +113,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = || #![attr] {foo}; }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:28:40
|
--> $DIR/attr-stmt-expr-attr-bad.rs:28:40
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = move || #![attr] {foo}; }
|
LL | #[cfg(false)] fn e() { let _ = move || #![attr] {foo}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -122,19 +122,19 @@ LL | #[cfg(FALSE)] fn e() { let _ = move || #![attr] {foo}; }
|
||||||
error: attributes are not allowed on range expressions starting with `..`
|
error: attributes are not allowed on range expressions starting with `..`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:30:40
|
--> $DIR/attr-stmt-expr-attr-bad.rs:30:40
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = #[attr] ..#[attr] 0; }
|
LL | #[cfg(false)] fn e() { let _ = #[attr] ..#[attr] 0; }
|
||||||
| ^^
|
| ^^
|
||||||
|
|
||||||
error: attributes are not allowed on range expressions starting with `..`
|
error: attributes are not allowed on range expressions starting with `..`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:32:40
|
--> $DIR/attr-stmt-expr-attr-bad.rs:32:40
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = #[attr] ..; }
|
LL | #[cfg(false)] fn e() { let _ = #[attr] ..; }
|
||||||
| ^^
|
| ^^
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:34:41
|
--> $DIR/attr-stmt-expr-attr-bad.rs:34:41
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = #[attr] &#![attr] 0; }
|
LL | #[cfg(false)] fn e() { let _ = #[attr] &#![attr] 0; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -143,7 +143,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = #[attr] &#![attr] 0; }
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:36:45
|
--> $DIR/attr-stmt-expr-attr-bad.rs:36:45
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = #[attr] &mut #![attr] 0; }
|
LL | #[cfg(false)] fn e() { let _ = #[attr] &mut #![attr] 0; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -152,21 +152,21 @@ LL | #[cfg(FALSE)] fn e() { let _ = #[attr] &mut #![attr] 0; }
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:38:37
|
--> $DIR/attr-stmt-expr-attr-bad.rs:38:37
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 #[attr] {}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 #[attr] {}; }
|
||||||
| -- ^^^^^^^ -- the attributes are attached to this branch
|
| -- ^^^^^^^ -- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `if`
|
| the branch belongs to this `if`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if 0 #[attr] {}; }
|
LL - #[cfg(false)] fn e() { let _ = if 0 #[attr] {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if 0 {}; }
|
LL + #[cfg(false)] fn e() { let _ = if 0 {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:40:38
|
--> $DIR/attr-stmt-expr-attr-bad.rs:40:38
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {#![attr]}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {#![attr]}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -175,27 +175,27 @@ LL | #[cfg(FALSE)] fn e() { let _ = if 0 {#![attr]}; }
|
||||||
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:42:40
|
--> $DIR/attr-stmt-expr-attr-bad.rs:42:40
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} #[attr] else {}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {} #[attr] else {}; }
|
||||||
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
||||||
|
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:44:45
|
--> $DIR/attr-stmt-expr-attr-bad.rs:44:45
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else #[attr] {}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {} else #[attr] {}; }
|
||||||
| ---- ^^^^^^^ -- the attributes are attached to this branch
|
| ---- ^^^^^^^ -- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `else`
|
| the branch belongs to this `else`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if 0 {} else #[attr] {}; }
|
LL - #[cfg(false)] fn e() { let _ = if 0 {} else #[attr] {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if 0 {} else {}; }
|
LL + #[cfg(false)] fn e() { let _ = if 0 {} else {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:46:46
|
--> $DIR/attr-stmt-expr-attr-bad.rs:46:46
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else {#![attr]}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {} else {#![attr]}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -204,35 +204,35 @@ LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else {#![attr]}; }
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:48:45
|
--> $DIR/attr-stmt-expr-attr-bad.rs:48:45
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else #[attr] if 0 {}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {} else #[attr] if 0 {}; }
|
||||||
| ---- ^^^^^^^ ------- the attributes are attached to this branch
|
| ---- ^^^^^^^ ------- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `else`
|
| the branch belongs to this `else`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if 0 {} else #[attr] if 0 {}; }
|
LL - #[cfg(false)] fn e() { let _ = if 0 {} else #[attr] if 0 {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 {}; }
|
LL + #[cfg(false)] fn e() { let _ = if 0 {} else if 0 {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:50:50
|
--> $DIR/attr-stmt-expr-attr-bad.rs:50:50
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 #[attr] {}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {} else if 0 #[attr] {}; }
|
||||||
| -- ^^^^^^^ -- the attributes are attached to this branch
|
| -- ^^^^^^^ -- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `if`
|
| the branch belongs to this `if`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 #[attr] {}; }
|
LL - #[cfg(false)] fn e() { let _ = if 0 {} else if 0 #[attr] {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 {}; }
|
LL + #[cfg(false)] fn e() { let _ = if 0 {} else if 0 {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:52:51
|
--> $DIR/attr-stmt-expr-attr-bad.rs:52:51
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 {#![attr]}; }
|
LL | #[cfg(false)] fn e() { let _ = if 0 {} else if 0 {#![attr]}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -241,21 +241,21 @@ LL | #[cfg(FALSE)] fn e() { let _ = if 0 {} else if 0 {#![attr]}; }
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:54:45
|
--> $DIR/attr-stmt-expr-attr-bad.rs:54:45
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 #[attr] {}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 #[attr] {}; }
|
||||||
| -- ^^^^^^^ -- the attributes are attached to this branch
|
| -- ^^^^^^^ -- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `if`
|
| the branch belongs to this `if`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if let _ = 0 #[attr] {}; }
|
LL - #[cfg(false)] fn e() { let _ = if let _ = 0 #[attr] {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {}; }
|
LL + #[cfg(false)] fn e() { let _ = if let _ = 0 {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:56:46
|
--> $DIR/attr-stmt-expr-attr-bad.rs:56:46
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {#![attr]}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {#![attr]}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -264,27 +264,27 @@ LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {#![attr]}; }
|
||||||
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:58:48
|
--> $DIR/attr-stmt-expr-attr-bad.rs:58:48
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} #[attr] else {}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {} #[attr] else {}; }
|
||||||
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
||||||
|
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:60:53
|
--> $DIR/attr-stmt-expr-attr-bad.rs:60:53
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else #[attr] {}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {} else #[attr] {}; }
|
||||||
| ---- ^^^^^^^ -- the attributes are attached to this branch
|
| ---- ^^^^^^^ -- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `else`
|
| the branch belongs to this `else`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else #[attr] {}; }
|
LL - #[cfg(false)] fn e() { let _ = if let _ = 0 {} else #[attr] {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else {}; }
|
LL + #[cfg(false)] fn e() { let _ = if let _ = 0 {} else {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:62:54
|
--> $DIR/attr-stmt-expr-attr-bad.rs:62:54
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else {#![attr]}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {} else {#![attr]}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -293,35 +293,35 @@ LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else {#![attr]}; }
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:64:53
|
--> $DIR/attr-stmt-expr-attr-bad.rs:64:53
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else #[attr] if let _ = 0 {}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {} else #[attr] if let _ = 0 {}; }
|
||||||
| ---- ^^^^^^^ --------------- the attributes are attached to this branch
|
| ---- ^^^^^^^ --------------- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `else`
|
| the branch belongs to this `else`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else #[attr] if let _ = 0 {}; }
|
LL - #[cfg(false)] fn e() { let _ = if let _ = 0 {} else #[attr] if let _ = 0 {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {}; }
|
LL + #[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: outer attributes are not allowed on `if` and `else` branches
|
error: outer attributes are not allowed on `if` and `else` branches
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:66:66
|
--> $DIR/attr-stmt-expr-attr-bad.rs:66:66
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 #[attr] {}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 #[attr] {}; }
|
||||||
| -- ^^^^^^^ -- the attributes are attached to this branch
|
| -- ^^^^^^^ -- the attributes are attached to this branch
|
||||||
| |
|
| |
|
||||||
| the branch belongs to this `if`
|
| the branch belongs to this `if`
|
||||||
|
|
|
|
||||||
help: remove the attributes
|
help: remove the attributes
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 #[attr] {}; }
|
LL - #[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 #[attr] {}; }
|
||||||
LL + #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {}; }
|
LL + #[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {}; }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: an inner attribute is not permitted in this context
|
error: an inner attribute is not permitted in this context
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:68:67
|
--> $DIR/attr-stmt-expr-attr-bad.rs:68:67
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {#![attr]}; }
|
LL | #[cfg(false)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {#![attr]}; }
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
|
|
||||||
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
= note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files
|
||||||
|
@ -330,7 +330,7 @@ LL | #[cfg(FALSE)] fn e() { let _ = if let _ = 0 {} else if let _ = 0 {#![attr]}
|
||||||
error: an inner attribute is not permitted following an outer attribute
|
error: an inner attribute is not permitted following an outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:71:32
|
--> $DIR/attr-stmt-expr-attr-bad.rs:71:32
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] let _ = 0; }
|
LL | #[cfg(false)] fn s() { #[attr] #![attr] let _ = 0; }
|
||||||
| ------- ^^^^^^^^ not permitted following an outer attribute
|
| ------- ^^^^^^^^ not permitted following an outer attribute
|
||||||
| |
|
| |
|
||||||
| previous outer attribute
|
| previous outer attribute
|
||||||
|
@ -341,7 +341,7 @@ LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] let _ = 0; }
|
||||||
error: an inner attribute is not permitted following an outer attribute
|
error: an inner attribute is not permitted following an outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:73:32
|
--> $DIR/attr-stmt-expr-attr-bad.rs:73:32
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] 0; }
|
LL | #[cfg(false)] fn s() { #[attr] #![attr] 0; }
|
||||||
| ------- ^^^^^^^^ not permitted following an outer attribute
|
| ------- ^^^^^^^^ not permitted following an outer attribute
|
||||||
| |
|
| |
|
||||||
| previous outer attribute
|
| previous outer attribute
|
||||||
|
@ -352,7 +352,7 @@ LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] 0; }
|
||||||
error: an inner attribute is not permitted following an outer attribute
|
error: an inner attribute is not permitted following an outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:75:32
|
--> $DIR/attr-stmt-expr-attr-bad.rs:75:32
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] foo!(); }
|
LL | #[cfg(false)] fn s() { #[attr] #![attr] foo!(); }
|
||||||
| ------- ^^^^^^^^ ------- the inner attribute doesn't annotate this item macro invocation
|
| ------- ^^^^^^^^ ------- the inner attribute doesn't annotate this item macro invocation
|
||||||
| | |
|
| | |
|
||||||
| | not permitted following an outer attribute
|
| | not permitted following an outer attribute
|
||||||
|
@ -363,7 +363,7 @@ LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] foo!(); }
|
||||||
error: an inner attribute is not permitted following an outer attribute
|
error: an inner attribute is not permitted following an outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:77:32
|
--> $DIR/attr-stmt-expr-attr-bad.rs:77:32
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] foo![]; }
|
LL | #[cfg(false)] fn s() { #[attr] #![attr] foo![]; }
|
||||||
| ------- ^^^^^^^^ ------- the inner attribute doesn't annotate this item macro invocation
|
| ------- ^^^^^^^^ ------- the inner attribute doesn't annotate this item macro invocation
|
||||||
| | |
|
| | |
|
||||||
| | not permitted following an outer attribute
|
| | not permitted following an outer attribute
|
||||||
|
@ -374,7 +374,7 @@ LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] foo![]; }
|
||||||
error: an inner attribute is not permitted following an outer attribute
|
error: an inner attribute is not permitted following an outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:79:32
|
--> $DIR/attr-stmt-expr-attr-bad.rs:79:32
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] foo!{}; }
|
LL | #[cfg(false)] fn s() { #[attr] #![attr] foo!{}; }
|
||||||
| ------- ^^^^^^^^ ------ the inner attribute doesn't annotate this item macro invocation
|
| ------- ^^^^^^^^ ------ the inner attribute doesn't annotate this item macro invocation
|
||||||
| | |
|
| | |
|
||||||
| | not permitted following an outer attribute
|
| | not permitted following an outer attribute
|
||||||
|
@ -385,100 +385,100 @@ LL | #[cfg(FALSE)] fn s() { #[attr] #![attr] foo!{}; }
|
||||||
error[E0586]: inclusive range with no end
|
error[E0586]: inclusive range with no end
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:85:35
|
--> $DIR/attr-stmt-expr-attr-bad.rs:85:35
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
|
|
||||||
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
|
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
|
||||||
help: use `..` instead
|
help: use `..` instead
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
LL - #[cfg(false)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
||||||
LL + #[cfg(FALSE)] fn e() { match 0 { 0..#[attr] 10 => () } }
|
LL + #[cfg(false)] fn e() { match 0 { 0..#[attr] 10 => () } }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: expected one of `=>`, `if`, or `|`, found `#`
|
error: expected one of `=>`, `if`, or `|`, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:85:38
|
--> $DIR/attr-stmt-expr-attr-bad.rs:85:38
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=#[attr] 10 => () } }
|
||||||
| ^ expected one of `=>`, `if`, or `|`
|
| ^ expected one of `=>`, `if`, or `|`
|
||||||
|
|
||||||
error[E0586]: inclusive range with no end
|
error[E0586]: inclusive range with no end
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:88:35
|
--> $DIR/attr-stmt-expr-attr-bad.rs:88:35
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
|
|
||||||
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
|
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
|
||||||
help: use `..` instead
|
help: use `..` instead
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
LL - #[cfg(false)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
||||||
LL + #[cfg(FALSE)] fn e() { match 0 { 0..#[attr] -10 => () } }
|
LL + #[cfg(false)] fn e() { match 0 { 0..#[attr] -10 => () } }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: expected one of `=>`, `if`, or `|`, found `#`
|
error: expected one of `=>`, `if`, or `|`, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:88:38
|
--> $DIR/attr-stmt-expr-attr-bad.rs:88:38
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=#[attr] -10 => () } }
|
||||||
| ^ expected one of `=>`, `if`, or `|`
|
| ^ expected one of `=>`, `if`, or `|`
|
||||||
|
|
||||||
error: unexpected token: `#`
|
error: unexpected token: `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:91:39
|
--> $DIR/attr-stmt-expr-attr-bad.rs:91:39
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=-#[attr] 10 => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=-#[attr] 10 => () } }
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error[E0586]: inclusive range with no end
|
error[E0586]: inclusive range with no end
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:93:35
|
--> $DIR/attr-stmt-expr-attr-bad.rs:93:35
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
|
|
||||||
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
|
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
|
||||||
help: use `..` instead
|
help: use `..` instead
|
||||||
|
|
|
|
||||||
LL - #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
LL - #[cfg(false)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
||||||
LL + #[cfg(FALSE)] fn e() { match 0 { 0..#[attr] FOO => () } }
|
LL + #[cfg(false)] fn e() { match 0 { 0..#[attr] FOO => () } }
|
||||||
|
|
|
|
||||||
|
|
||||||
error: expected one of `=>`, `if`, or `|`, found `#`
|
error: expected one of `=>`, `if`, or `|`, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:93:38
|
--> $DIR/attr-stmt-expr-attr-bad.rs:93:38
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
LL | #[cfg(false)] fn e() { match 0 { 0..=#[attr] FOO => () } }
|
||||||
| ^ expected one of `=>`, `if`, or `|`
|
| ^ expected one of `=>`, `if`, or `|`
|
||||||
|
|
||||||
error: unexpected token: `#`
|
error: unexpected token: `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:97:34
|
--> $DIR/attr-stmt-expr-attr-bad.rs:97:34
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
|
LL | #[cfg(false)] fn e() { let _ = x.#![attr]foo(); }
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:97:34
|
--> $DIR/attr-stmt-expr-attr-bad.rs:97:34
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
|
LL | #[cfg(false)] fn e() { let _ = x.#![attr]foo(); }
|
||||||
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
||||||
|
|
||||||
error: unexpected token: `#`
|
error: unexpected token: `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:100:34
|
--> $DIR/attr-stmt-expr-attr-bad.rs:100:34
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
|
LL | #[cfg(false)] fn e() { let _ = x.#[attr]foo(); }
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
error: expected one of `.`, `;`, `?`, `else`, or an operator, found `#`
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:100:34
|
--> $DIR/attr-stmt-expr-attr-bad.rs:100:34
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
|
LL | #[cfg(false)] fn e() { let _ = x.#[attr]foo(); }
|
||||||
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
| ^ expected one of `.`, `;`, `?`, `else`, or an operator
|
||||||
|
|
||||||
error: expected statement after outer attribute
|
error: expected statement after outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:105:37
|
--> $DIR/attr-stmt-expr-attr-bad.rs:105:37
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { { fn foo() { #[attr]; } } }
|
LL | #[cfg(false)] fn e() { { fn foo() { #[attr]; } } }
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
error: expected statement after outer attribute
|
error: expected statement after outer attribute
|
||||||
--> $DIR/attr-stmt-expr-attr-bad.rs:107:37
|
--> $DIR/attr-stmt-expr-attr-bad.rs:107:37
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)] fn e() { { fn foo() { #[attr] } } }
|
LL | #[cfg(false)] fn e() { { fn foo() { #[attr] } } }
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 53 previous errors
|
error: aborting due to 53 previous errors
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#![feature(stmt_expr_attributes)]
|
#![feature(stmt_expr_attributes)]
|
||||||
|
|
||||||
fn foo() -> String {
|
fn foo() -> String {
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
[1, 2, 3].iter().map(|c| c.to_string()).collect::<String>() //~ ERROR expected `;`, found `#`
|
[1, 2, 3].iter().map(|c| c.to_string()).collect::<String>() //~ ERROR expected `;`, found `#`
|
||||||
#[cfg(not(FALSE))]
|
#[cfg(not(FALSE))]
|
||||||
String::new()
|
String::new()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
error: expected `;`, found `#`
|
error: expected `;`, found `#`
|
||||||
--> $DIR/multiple-tail-expr-behind-cfg.rs:5:64
|
--> $DIR/multiple-tail-expr-behind-cfg.rs:5:64
|
||||||
|
|
|
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| ------------- only `;` terminated statements or tail expressions are allowed after this attribute
|
| ------------- only `;` terminated statements or tail expressions are allowed after this attribute
|
||||||
LL | [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
|
LL | [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
|
||||||
| ^ expected `;` here
|
| ^ expected `;` here
|
||||||
|
@ -18,7 +18,7 @@ LL | { [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>() }
|
||||||
| + +
|
| + +
|
||||||
help: it seems like you are trying to provide different expressions depending on `cfg`, consider using `if cfg!(..)`
|
help: it seems like you are trying to provide different expressions depending on `cfg`, consider using `if cfg!(..)`
|
||||||
|
|
|
|
||||||
LL ~ if cfg!(FALSE) {
|
LL ~ if cfg!(false) {
|
||||||
LL ~ [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
|
LL ~ [1, 2, 3].iter().map(|c| c.to_string()).collect::<String>()
|
||||||
LL ~ } else if cfg!(not(FALSE)) {
|
LL ~ } else if cfg!(not(FALSE)) {
|
||||||
LL ~ String::new()
|
LL ~ String::new()
|
||||||
|
|
|
@ -5,7 +5,7 @@ macro_rules! the_macro {
|
||||||
#[cfg()]
|
#[cfg()]
|
||||||
$foo //~ ERROR expected `;`, found `#`
|
$foo //~ ERROR expected `;`, found `#`
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
$bar
|
$bar
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ LL | #[cfg()]
|
||||||
LL | $foo
|
LL | $foo
|
||||||
| ^ expected `;` here
|
| ^ expected `;` here
|
||||||
LL |
|
LL |
|
||||||
LL | #[cfg(FALSE)]
|
LL | #[cfg(false)]
|
||||||
| - unexpected token
|
| - unexpected token
|
||||||
...
|
...
|
||||||
LL | the_macro!( (); (); );
|
LL | the_macro!( (); (); );
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//@ check-pass
|
//@ check-pass
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
foo::<T = u8, T: Ord, String>();
|
foo::<T = u8, T: Ord, String>();
|
||||||
foo::<T = u8, 'a, T: Ord>();
|
foo::<T = u8, 'a, T: Ord>();
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
mod free_items {
|
mod free_items {
|
||||||
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
||||||
default use foo; //~ ERROR a `use` import cannot be `default`
|
default use foo; //~ ERROR a `use` import cannot be `default`
|
||||||
|
@ -28,7 +28,7 @@ mod free_items {
|
||||||
default macro_rules! foo {} //~ ERROR a macro definition cannot be `default`
|
default macro_rules! foo {} //~ ERROR a macro definition cannot be `default`
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
||||||
//~^ ERROR extern crate is not supported in `extern` blocks
|
//~^ ERROR extern crate is not supported in `extern` blocks
|
||||||
|
@ -65,7 +65,7 @@ extern "C" {
|
||||||
//~^ ERROR macro definition is not supported in `extern` blocks
|
//~^ ERROR macro definition is not supported in `extern` blocks
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
impl S {
|
impl S {
|
||||||
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
||||||
//~^ ERROR extern crate is not supported in `trait`s or `impl`s
|
//~^ ERROR extern crate is not supported in `trait`s or `impl`s
|
||||||
|
@ -102,7 +102,7 @@ impl S {
|
||||||
//~^ ERROR macro definition is not supported in `trait`s or `impl`s
|
//~^ ERROR macro definition is not supported in `trait`s or `impl`s
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
trait T {
|
trait T {
|
||||||
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
default extern crate foo; //~ ERROR an extern crate cannot be `default`
|
||||||
//~^ ERROR extern crate is not supported in `trait`s or `impl`s
|
//~^ ERROR extern crate is not supported in `trait`s or `impl`s
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "some_abi_that_we_are_sure_does_not_exist_semantically" fn foo() {}
|
extern "some_abi_that_we_are_sure_does_not_exist_semantically" fn foo() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "some_abi_that_we_are_sure_does_not_exist_semantically" {
|
extern "some_abi_that_we_are_sure_does_not_exist_semantically" {
|
||||||
fn foo();
|
fn foo();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
type T = extern "some_abi_that_we_are_sure_does_not_exist_semantically" fn();
|
type T = extern "some_abi_that_we_are_sure_does_not_exist_semantically" fn();
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern crate async;
|
extern crate async;
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern crate async as something_else;
|
extern crate async as something_else;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
fn f();
|
fn f();
|
||||||
fn f() {}
|
fn f() {}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
fn syntax() {
|
fn syntax() {
|
||||||
async fn f();
|
async fn f();
|
||||||
unsafe fn f();
|
unsafe fn f();
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
const A: isize; //~ ERROR extern items cannot be `const`
|
const A: isize; //~ ERROR extern items cannot be `const`
|
||||||
const B: isize = 42; //~ ERROR extern items cannot be `const`
|
const B: isize = 42; //~ ERROR extern items cannot be `const`
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
static X: u8;
|
static X: u8;
|
||||||
static mut Y: u8;
|
static mut Y: u8;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
type A: Ord;
|
type A: Ord;
|
||||||
type A<'a> where 'a: 'static;
|
type A<'a> where 'a: 'static;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
||||||
#[cfg(FALSE)]
|
#[cfg(false)]
|
||||||
impl X {
|
impl X {
|
||||||
const Y: u8;
|
const Y: u8;
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue