Add tests for "not sure" case of cfg_accessible

This commit is contained in:
Urgau 2022-05-21 09:59:57 +02:00
parent 163374644b
commit c413250757
3 changed files with 303 additions and 0 deletions

View File

@ -0,0 +1,106 @@
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:14:18
|
LL | #[cfg_accessible(Struct::existing)]
| ^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:16:18
|
LL | #[cfg_accessible(Struct::unresolved)]
| ^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:25:18
|
LL | #[cfg_accessible(Union::existing)]
| ^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:27:18
|
LL | #[cfg_accessible(Union::unresolved)]
| ^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:36:18
|
LL | #[cfg_accessible(Enum::unresolved)]
| ^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:46:18
|
LL | #[cfg_accessible(Trait::existing)]
| ^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:48:18
|
LL | #[cfg_accessible(Trait::unresolved)]
| ^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:55:18
|
LL | #[cfg_accessible(TypeAlias::existing)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:57:18
|
LL | #[cfg_accessible(TypeAlias::unresolved)]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:66:18
|
LL | #[cfg_accessible(ForeignType::unresolved)]
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:75:18
|
LL | #[cfg_accessible(AssocType::AssocType::unresolved)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:80:18
|
LL | #[cfg_accessible(u8::unresolved)]
| ^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:82:18
|
LL | #[cfg_accessible(u8::is_ascii)]
| ^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: aborting due to 13 previous errors

View File

@ -0,0 +1,106 @@
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:14:18
|
LL | #[cfg_accessible(Struct::existing)]
| ^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:16:18
|
LL | #[cfg_accessible(Struct::unresolved)]
| ^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:25:18
|
LL | #[cfg_accessible(Union::existing)]
| ^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:27:18
|
LL | #[cfg_accessible(Union::unresolved)]
| ^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:36:18
|
LL | #[cfg_accessible(Enum::unresolved)]
| ^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:46:18
|
LL | #[cfg_accessible(Trait::existing)]
| ^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:48:18
|
LL | #[cfg_accessible(Trait::unresolved)]
| ^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:55:18
|
LL | #[cfg_accessible(TypeAlias::existing)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:57:18
|
LL | #[cfg_accessible(TypeAlias::unresolved)]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:66:18
|
LL | #[cfg_accessible(ForeignType::unresolved)]
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:75:18
|
LL | #[cfg_accessible(AssocType::AssocType::unresolved)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:80:18
|
LL | #[cfg_accessible(u8::unresolved)]
| ^^^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: not sure whether the path is accessible or not
--> $DIR/cfg_accessible-not_sure.rs:82:18
|
LL | #[cfg_accessible(u8::is_ascii)]
| ^^^^^^^^^^^^
|
= note: the type may have associated items, but we are currently not checking them
error: aborting due to 13 previous errors

View File

@ -0,0 +1,91 @@
// revisions: edition2015 edition2021
// [edition2015]compile-flags: --edition=2015
// [edition2021]compile-flags: --edition=2021
#![feature(extern_types)]
#![feature(cfg_accessible)]
// Struct::unresolved - error
struct Struct {
existing: u8,
}
#[cfg_accessible(Struct::existing)] //~ ERROR not sure
const A: bool = true;
#[cfg_accessible(Struct::unresolved)] //~ ERROR not sure
const B: bool = true;
// Union::unresolved - error
struct Union {
existing: u8,
}
#[cfg_accessible(Union::existing)] //~ ERROR not sure
const A: bool = true;
#[cfg_accessible(Union::unresolved)] //~ ERROR not sure
const B: bool = true;
// Enum::unresolved - error
enum Enum {
Existing { existing: u8 },
}
// FIXME: Currently returns `false` but should be "not sure"
#[cfg_accessible(Enum::Existing::existing)]
const A: bool = true;
// FIXME: Currently returns `false` but should be "not sure"
#[cfg_accessible(Enum::Existing::unresolved)]
const B: bool = true;
#[cfg_accessible(Enum::unresolved)] //~ ERROR not sure
const C: bool = true;
// Trait::unresolved - false or error, depending on edition (error if you can write Trait::foo
// instead of <dyn Trait>::foo for methods like impl dyn Trait { fn foo() {} })
trait Trait {}
impl dyn Trait { fn existing() {} }
// FIXME: Should be a error for edition > 2015
#[cfg_accessible(Trait::existing)] //~ ERROR not sure
const A: bool = true;
#[cfg_accessible(Trait::unresolved)] //~ ERROR not sure
const B: bool = true;
// TypeAlias::unresolved - error
type TypeAlias = Struct;
#[cfg_accessible(TypeAlias::existing)] //~ ERROR not sure
const A: bool = true;
#[cfg_accessible(TypeAlias::unresolved)] //~ ERROR not sure
const B: bool = true;
// ForeignType::unresolved - error
extern {
type ForeignType;
}
#[cfg_accessible(ForeignType::unresolved)] //~ ERROR not sure
const A: bool = true;
// AssocType::unresolved - error
trait AssocType {
type AssocType;
}
#[cfg_accessible(AssocType::AssocType::unresolved)] //~ ERROR not sure
const A: bool = true;
// PrimitiveType::unresolved - error
#[cfg_accessible(u8::unresolved)] //~ ERROR not sure
const A: bool = true;
#[cfg_accessible(u8::is_ascii)] //~ ERROR not sure
const B: bool = true;
fn main() {}