Auto merge of #155634 - jhpratt:rollup-lo99oO5, r=jhpratt

Rollup of 7 pull requests

Successful merges:

 - rust-lang/rust#155589 (Forbid `check-pass`/`build-pass`/`run-pass` directives in incremental tests)
 - rust-lang/rust#155610 (Add missing `dyn` keyword to `trait_alias` page of the Unstable Book)
 - rust-lang/rust#155615 (test cleanups for `ui/derives` and `ui/deriving`)
 - rust-lang/rust#154874 (Fix ICE for inherited const conditions on const closures)
 - rust-lang/rust#155605 (std: Update support for `wasm32-wasip3`)
 - rust-lang/rust#155613 (c-variadic: tweak `std` docs)
 - rust-lang/rust#155619 (Remove a bunch of unnecessary explicit lifetimes from the ast validator)
This commit is contained in:
bors
2026-04-22 06:20:12 +00:00
105 changed files with 3296 additions and 3324 deletions
+16 -16
View File
@@ -208,7 +208,7 @@ fn with_impl_trait(&mut self, outer_span: Option<Span>, f: impl FnOnce(&mut Self
}
// Mirrors `visit::walk_ty`, but tracks relevant state.
fn walk_ty(&mut self, t: &'a Ty) {
fn walk_ty(&mut self, t: &Ty) {
match &t.kind {
TyKind::ImplTrait(_, bounds) => {
self.with_impl_trait(Some(t.span), |this| visit::walk_ty(this, t));
@@ -731,7 +731,7 @@ fn check_foreign_item_ascii_only(&self, ident: Ident) {
/// C-variadics must be:
/// - Non-const
/// - Either foreign, or free and `unsafe extern "C"` semantically
fn check_c_variadic_type(&self, fk: FnKind<'a>, attrs: &'a AttrVec) {
fn check_c_variadic_type(&self, fk: FnKind<'_>, attrs: &AttrVec) {
// `...` is already rejected when it is not the final parameter.
let variadic_param = match fk.decl().inputs.last() {
Some(param) if matches!(param.ty.kind, TyKind::CVarArgs) => param,
@@ -806,7 +806,7 @@ fn check_c_variadic_type(&self, fk: FnKind<'a>, attrs: &'a AttrVec) {
fn check_c_variadic_abi(
&self,
abi: ExternAbi,
attrs: &'a AttrVec,
attrs: &AttrVec,
dotdotdot_span: Span,
sig: &FnSig,
) {
@@ -976,7 +976,7 @@ fn check_generic_args_before_constraints(&self, data: &AngleBracketedArgs) {
});
}
fn visit_ty_common(&mut self, ty: &'a Ty) {
fn visit_ty_common(&mut self, ty: &Ty) {
match &ty.kind {
TyKind::FnPtr(bfty) => {
self.check_fn_ptr_safety(bfty.decl_span, bfty.safety);
@@ -1039,13 +1039,13 @@ fn handle_missing_abi(&mut self, span: Span, id: NodeId) {
}
// Used within `visit_item` for item kinds where we don't call `visit::walk_item`.
fn visit_attrs_vis(&mut self, attrs: &'a AttrVec, vis: &'a Visibility) {
fn visit_attrs_vis(&mut self, attrs: &AttrVec, vis: &Visibility) {
walk_list!(self, visit_attribute, attrs);
self.visit_vis(vis);
}
// Used within `visit_item` for item kinds where we don't call `visit::walk_item`.
fn visit_attrs_vis_ident(&mut self, attrs: &'a AttrVec, vis: &'a Visibility, ident: &'a Ident) {
fn visit_attrs_vis_ident(&mut self, attrs: &AttrVec, vis: &Visibility, ident: &Ident) {
walk_list!(self, visit_attribute, attrs);
self.visit_vis(vis);
self.visit_ident(ident);
@@ -1125,17 +1125,17 @@ fn validate_generic_param_order(dcx: DiagCtxtHandle<'_>, generics: &[GenericPara
}
}
impl<'a> Visitor<'a> for AstValidator<'a> {
impl Visitor<'_> for AstValidator<'_> {
fn visit_attribute(&mut self, attr: &Attribute) {
validate_attr::check_attr(&self.sess.psess, attr);
}
fn visit_ty(&mut self, ty: &'a Ty) {
fn visit_ty(&mut self, ty: &Ty) {
self.visit_ty_common(ty);
self.walk_ty(ty)
}
fn visit_item(&mut self, item: &'a Item) {
fn visit_item(&mut self, item: &Item) {
if item.attrs.iter().any(|attr| attr.is_proc_macro_attr()) {
self.has_proc_macro_decls = true;
}
@@ -1477,7 +1477,7 @@ fn visit_item(&mut self, item: &'a Item) {
self.lint_node_id = previous_lint_node_id;
}
fn visit_foreign_item(&mut self, fi: &'a ForeignItem) {
fn visit_foreign_item(&mut self, fi: &ForeignItem) {
match &fi.kind {
ForeignItemKind::Fn(box Fn { defaultness, ident, sig, body, .. }) => {
self.check_defaultness(fi.span, *defaultness, AllowDefault::No, AllowFinal::No);
@@ -1527,7 +1527,7 @@ fn visit_foreign_item(&mut self, fi: &'a ForeignItem) {
}
// Mirrors `visit::walk_generic_args`, but tracks relevant state.
fn visit_generic_args(&mut self, generic_args: &'a GenericArgs) {
fn visit_generic_args(&mut self, generic_args: &GenericArgs) {
match generic_args {
GenericArgs::AngleBracketed(data) => {
self.check_generic_args_before_constraints(data);
@@ -1557,7 +1557,7 @@ fn visit_generic_args(&mut self, generic_args: &'a GenericArgs) {
}
}
fn visit_generics(&mut self, generics: &'a Generics) {
fn visit_generics(&mut self, generics: &Generics) {
let mut prev_param_default = None;
for param in &generics.params {
match param.kind {
@@ -1613,7 +1613,7 @@ fn visit_generics(&mut self, generics: &'a Generics) {
}
}
fn visit_param_bound(&mut self, bound: &'a GenericBound, ctxt: BoundKind) {
fn visit_param_bound(&mut self, bound: &GenericBound, ctxt: BoundKind) {
match bound {
GenericBound::Trait(trait_ref) => {
match (ctxt, trait_ref.modifiers.constness, trait_ref.modifiers.polarity) {
@@ -1671,7 +1671,7 @@ fn visit_param_bound(&mut self, bound: &'a GenericBound, ctxt: BoundKind) {
visit::walk_param_bound(self, bound)
}
fn visit_fn(&mut self, fk: FnKind<'a>, attrs: &AttrVec, span: Span, id: NodeId) {
fn visit_fn(&mut self, fk: FnKind<'_>, attrs: &AttrVec, span: Span, id: NodeId) {
// Only associated `fn`s can have `self` parameters.
let self_semantic = match fk.ctxt() {
Some(FnCtxt::Assoc(_)) => SelfSemantic::Yes,
@@ -1784,7 +1784,7 @@ fn visit_fn(&mut self, fk: FnKind<'a>, attrs: &AttrVec, span: Span, id: NodeId)
self.with_tilde_const(disallowed, |this| visit::walk_fn(this, fk));
}
fn visit_assoc_item(&mut self, item: &'a AssocItem, ctxt: AssocCtxt) {
fn visit_assoc_item(&mut self, item: &AssocItem, ctxt: AssocCtxt) {
if let Some(ident) = item.kind.ident()
&& attr::contains_name(&item.attrs, sym::no_mangle)
{
@@ -1931,7 +1931,7 @@ fn visit_assoc_item(&mut self, item: &'a AssocItem, ctxt: AssocCtxt) {
}
}
fn visit_anon_const(&mut self, anon_const: &'a AnonConst) {
fn visit_anon_const(&mut self, anon_const: &AnonConst) {
self.with_tilde_const(
Some(TildeConstReason::AnonConst { span: anon_const.value.span }),
|this| visit::walk_anon_const(this, anon_const),
@@ -556,15 +556,8 @@ fn evaluate_host_effect_for_fn_goal<'tcx>(
ty::Closure(def, args) => {
// For now we limit ourselves to closures without binders. The next solver can handle them.
let sig =
args.as_closure().sig().no_bound_vars().ok_or(EvaluationFailure::NoSolution)?;
(
def,
tcx.mk_args_from_iter(
[ty::GenericArg::from(*sig.inputs().get(0).unwrap()), sig.output().into()]
.into_iter(),
),
)
args.as_closure().sig().no_bound_vars().ok_or(EvaluationFailure::NoSolution)?;
(def, args)
}
// Everything else needs explicit impls or cannot have an impl
+16 -4
View File
@@ -346,6 +346,7 @@ dependencies = [
"vex-sdk",
"wasip1",
"wasip2",
"wasip3",
"windows-link 0.0.0",
]
@@ -418,9 +419,20 @@ dependencies = [
[[package]]
name = "wasip2"
version = "1.0.2+wasi-0.2.9"
version = "1.0.3+wasi-0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6"
dependencies = [
"rustc-std-workspace-alloc",
"rustc-std-workspace-core",
"wit-bindgen",
]
[[package]]
name = "wasip3"
version = "0.6.0+wasi-0.3.0-rc-2026-03-15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed83456dd6a0b8581998c0365e4651fa2997e5093b49243b7f35391afaa7a3d9"
dependencies = [
"rustc-std-workspace-alloc",
"rustc-std-workspace-core",
@@ -513,9 +525,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "wit-bindgen"
version = "0.51.0"
version = "0.57.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
dependencies = [
"rustc-std-workspace-alloc",
"rustc-std-workspace-core",
+30 -11
View File
@@ -213,14 +213,15 @@ struct VaListInner {
/// assert_eq!(unsafe { my_func(3, 42i32, -7i32, 20i32) }, 55);
/// ```
///
/// The [`VaList::arg`] method can be used to read an argument from the list. This method
/// automatically advances the `VaList` to the next argument. The C equivalent is `va_arg`.
/// The [`VaList::arg`] method reads the next argument from the variable argument list,
/// and is equivalent to C `va_arg`.
///
/// Cloning a `VaList` performs the equivalent of C `va_copy`, producing an independent cursor
/// that arguments can be read from without affecting the original. Dropping a `VaList` performs
/// the equivalent of C `va_end`.
///
/// This can be used across an FFI boundary, and fully matches the platform's `va_list`.
/// A `VaList` can be used across an FFI boundary, and fully matches the platform's `va_list` in
/// terms of layout and ABI.
#[repr(transparent)]
#[lang = "va_list"]
pub struct VaList<'a> {
@@ -285,17 +286,33 @@ impl<T> Sealed for *const T {}
/// Types that are valid to read using [`VaList::arg`].
///
/// This trait is implemented for primitive types that have a variable argument application-binary
/// interface (ABI) on the current platform. It is always implemented for:
///
/// - [`c_int`], [`c_long`] and [`c_longlong`]
/// - [`c_uint`], [`c_ulong`] and [`c_ulonglong`]
/// - [`c_double`]
/// - `*const T` and `*mut T`
///
/// Implementations for e.g. `i32` or `usize` shouldn't be relied upon directly,
/// because they may not be available on all platforms.
///
/// # Safety
///
/// The standard library implements this trait for primitive types that are
/// expected to have a variable argument application-binary interface (ABI) on all
/// platforms.
///
/// When C passes variable arguments, integers smaller than [`c_int`] and floats smaller
/// than [`c_double`] are implicitly promoted to [`c_int`] and [`c_double`] respectively.
/// Implementing this trait for types that are subject to this promotion rule is invalid.
/// When C passes variable arguments, signed integers smaller than [`c_int`] are promoted
/// to [`c_int`], unsigned integers smaller than [`c_uint`] are promoted to [`c_uint`],
/// and [`c_float`] is promoted to [`c_double`]. Implementing this trait for types that are
/// subject to this promotion rule is invalid.
///
/// [`c_int`]: core::ffi::c_int
/// [`c_long`]: core::ffi::c_long
/// [`c_longlong`]: core::ffi::c_longlong
///
/// [`c_uint`]: core::ffi::c_uint
/// [`c_ulong`]: core::ffi::c_ulong
/// [`c_ulonglong`]: core::ffi::c_ulonglong
///
/// [`c_float`]: core::ffi::c_float
/// [`c_double`]: core::ffi::c_double
// We may unseal this trait in the future, but currently our `va_arg` implementations don't support
// types with an alignment larger than 8, or with a non-scalar layout. Inline assembly can be used
@@ -352,14 +369,16 @@ const fn va_arg_safe_check<T: VaArgSafe>() {}
va_arg_safe_check::<crate::ffi::c_int>();
va_arg_safe_check::<crate::ffi::c_uint>();
va_arg_safe_check::<crate::ffi::c_long>();
va_arg_safe_check::<crate::ffi::c_ulong>();
va_arg_safe_check::<crate::ffi::c_longlong>();
va_arg_safe_check::<crate::ffi::c_ulonglong>();
va_arg_safe_check::<crate::ffi::c_double>();
};
impl<'f> VaList<'f> {
/// Read an argument from the variable argument list, and advance to the next argument.
/// Read the next argument from the variable argument list.
///
/// Only types that implement [`VaArgSafe`] can be read from a variable argument list.
///
+2 -2
View File
@@ -84,12 +84,12 @@ wasip1 = { version = "1.0.0", features = [
], default-features = false }
[target.'cfg(all(target_os = "wasi", target_env = "p2"))'.dependencies]
wasip2 = { version = '1.0.2', features = [
wasip2 = { version = '1.0.3', features = [
'rustc-dep-of-std',
], default-features = false }
[target.'cfg(all(target_os = "wasi", target_env = "p3"))'.dependencies]
wasip2 = { version = '1.0.2', features = [
wasip3 = { version = '0.6.0', features = [
'rustc-dep-of-std',
], default-features = false }
+2 -2
View File
@@ -42,8 +42,8 @@
pub use wasip1::*;
}
all(target_os = "wasi", any(target_env = "p2", target_env = "p3")) => {
mod wasip2;
pub use wasip2::*;
mod wasi;
pub use wasi::*;
}
target_os = "xous" => {
mod xous;
+11
View File
@@ -0,0 +1,11 @@
#[cfg(target_env = "p2")]
use wasip2 as wasi;
#[cfg(target_env = "p3")]
use wasip3 as wasi;
pub use super::common::Args;
/// Returns the command line arguments
pub fn args() -> Args {
Args::new(wasi::cli::environment::get_arguments().into_iter().map(|arg| arg.into()).collect())
}
-6
View File
@@ -1,6 +0,0 @@
pub use super::common::Args;
/// Returns the command line arguments
pub fn args() -> Args {
Args::new(wasip2::cli::environment::get_arguments().into_iter().map(|arg| arg.into()).collect())
}
+2 -2
View File
@@ -95,8 +95,8 @@
pub use wasip1::fill_bytes;
}
all(target_os = "wasi", any(target_env = "p2", target_env = "p3")) => {
mod wasip2;
pub use wasip2::{fill_bytes, hashmap_random_keys};
mod wasi;
pub use wasi::{fill_bytes, hashmap_random_keys};
}
target_os = "zkvm" => {
mod zkvm;
+12
View File
@@ -0,0 +1,12 @@
#[cfg(target_env = "p2")]
use wasip2::random::{insecure_seed::insecure_seed as get_insecure_seed, random::get_random_bytes};
#[cfg(target_env = "p3")]
use wasip3::random::{insecure_seed::get_insecure_seed, random::get_random_bytes};
pub fn fill_bytes(bytes: &mut [u8]) {
bytes.copy_from_slice(&get_random_bytes(u64::try_from(bytes.len()).unwrap()));
}
pub fn hashmap_random_keys() -> (u64, u64) {
get_insecure_seed()
}
-9
View File
@@ -1,9 +0,0 @@
pub fn fill_bytes(bytes: &mut [u8]) {
bytes.copy_from_slice(&wasip2::random::random::get_random_bytes(
u64::try_from(bytes.len()).unwrap(),
));
}
pub fn hashmap_random_keys() -> (u64, u64) {
wasip2::random::insecure_seed::insecure_seed()
}
@@ -156,11 +156,12 @@ series of steps.
Compiletest starts with an empty directory with the `-C incremental` flag, and
then runs the compiler for each revision, reusing the incremental results from previous steps.
The revisions should start with:
Each revision name must start with one of:
* `bfail` the test should fail to compile
* `bpass` — the test should compile successully
* `rpass` — the test should compile and run successfully
* `cpass` - the test must compile successfully (check build, no codegen)
* `bfail` — the test must fail to compile (full build, with codegen)
* `bpass` — the test must compile successully (full build, with codegen)
* `rpass` — the test must compile and run successfully
To make the revisions unique, you should add a suffix like `rpass1` and `rpass2`.
@@ -70,11 +70,11 @@ See [Controlling pass/fail expectations](ui.md#controlling-passfail-expectations
| Directive | Explanation | Supported test suites | Possible values |
|-----------------------------|---------------------------------------------|-------------------------------------------|-----------------|
| `check-pass` | Building (no codegen) should pass | `ui`, `crashes`, `incremental` | N/A |
| `check-pass` | Building (no codegen) should pass | `ui`, `crashes` | N/A |
| `check-fail` | Building (no codegen) should fail | `ui`, `crashes` | N/A |
| `build-pass` | Building should pass | `ui`, `crashes`, `codegen`, `incremental` | N/A |
| `build-pass` | Building should pass | `ui`, `crashes`, `codegen` | N/A |
| `build-fail` | Building should fail | `ui`, `crashes` | N/A |
| `run-pass` | Program must exit with code `0` | `ui`, `crashes`, `incremental` | N/A |
| `run-pass` | Program must exit with code `0` | `ui`, `crashes` | N/A |
| `run-fail` | Program must exit with code `1..=127` | `ui`, `crashes` | N/A |
| `run-crash` | Program must crash | `ui` | N/A |
| `run-fail-or-crash` | Program must `run-fail` or `run-crash` | `ui` | N/A |
@@ -90,9 +90,9 @@ comparison](ui.md#output-comparison) and [Rustfix tests](ui.md#rustfix-tests) fo
| Directive | Explanation | Supported test suites | Possible values |
|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------|----------------------------------------------|-----------------------------------------------------------------------------------------|
| `check-run-results` | Check run test binary `run-{pass,fail}` output snapshot | `ui`, `crashes`, `incremental` if `run-pass` | N/A |
| `error-pattern` | Check that output contains a specific string | `ui`, `crashes`, `incremental` if `run-pass` | String |
| `regex-error-pattern` | Check that output contains a regex pattern | `ui`, `crashes`, `incremental` if `run-pass` | Regex |
| `check-run-results` | Check run test binary `run-{pass,fail}` output snapshot | `ui`, `crashes`, `incremental` | N/A |
| `error-pattern` | Check that output contains a specific string | `ui`, `crashes`, `incremental` | String |
| `regex-error-pattern` | Check that output contains a regex pattern | `ui`, `crashes`, `incremental` | Regex |
| `check-stdout` | Check `stdout` against `error-pattern`s from running test binary[^check_stdout] | `ui`, `crashes`, `incremental` | N/A |
| `normalize-stderr-32bit` | Normalize actual stderr (for 32-bit platforms) with a rule `"<raw>" -> "<normalized>"` before comparing against snapshot | `ui`, `incremental` | `"<RAW>" -> "<NORMALIZED>"`, `<RAW>`/`<NORMALIZED>` is regex capture and replace syntax |
| `normalize-stderr-64bit` | Normalize actual stderr (for 64-bit platforms) with a rule `"<raw>" -> "<normalized>"` before comparing against snapshot | `ui`, `incremental` | `"<RAW>" -> "<NORMALIZED>"`, `<RAW>`/`<NORMALIZED>` is regex capture and replace syntax |
@@ -26,7 +26,7 @@ pub fn main() {
foo(&1);
// Use trait alias for trait objects.
let a: &Bar = &123;
let a: &dyn Bar = &123;
println!("{:?}", a);
let b = Box::new(456) as Box<dyn Foo>;
println!("{:?}", b);
-7
View File
@@ -439,13 +439,6 @@ fn update_pass_mode(&mut self, ln: &DirectiveLine<'_>, config: &Config) {
(TestMode::Ui, _) => (),
(TestMode::Crashes, _) => (),
(TestMode::Codegen, "build-pass") => (),
(TestMode::Incremental, _) => {
// FIXME(Zalathar): This only detects forbidden directives that are
// declared _after_ the incompatible `//@ revisions:` directive(s).
if self.revisions.iter().any(|r| !r.starts_with("bfail")) {
panic!("`{s}` directive is only supported in `bfail` incremental tests")
}
}
(mode, _) => panic!("`{s}` directive is not supported in `{mode}` tests"),
};
let pass_mode = if config.parse_name_directive(ln, "check-pass") {
+6 -3
View File
@@ -327,12 +327,15 @@ fn should_compile_successfully(&self, pm: Option<PassMode>) -> bool {
TestMode::Incremental => {
let revision =
self.revision.expect("incremental tests require a list of revisions");
if revision.starts_with("bpass") || revision.starts_with("rpass") {
if revision.starts_with("cpass")
|| revision.starts_with("bpass")
|| revision.starts_with("rpass")
{
true
} else if revision.starts_with("bfail") {
pm.is_some()
false
} else {
panic!("revision name must begin with `bfail`, `bpass`, or `rpass`");
panic!("revision name must begin with `cpass`, `bfail`, `bpass`, or `rpass`");
}
}
mode => panic!("unimplemented for mode {:?}", mode),
@@ -1,4 +1,4 @@
use super::{FailMode, ProcRes, TestCx, WillExecute};
use super::{Emit, FailMode, PassMode, ProcRes, TestCx, WillExecute};
impl TestCx<'_> {
pub(super) fn run_incremental_test(&self) {
@@ -31,7 +31,9 @@ pub(super) fn run_incremental_test(&self) {
write!(self.stdout, "revision={:?} props={:#?}", revision, self.props);
}
if revision.starts_with("bpass") {
if revision.starts_with("cpass") {
self.run_cpass_test();
} else if revision.starts_with("bpass") {
self.run_bpass_test();
} else if revision.starts_with("rpass") {
self.run_rpass_test();
@@ -42,6 +44,12 @@ pub(super) fn run_incremental_test(&self) {
}
}
fn run_cpass_test(&self) {
let proc_res = self.compile_test(WillExecute::No, Emit::Metadata);
self.check_if_test_should_compile(None, Some(PassMode::Check), &proc_res);
self.check_compiler_output_for_incr(&proc_res);
}
fn run_bpass_test(&self) {
let emit_metadata = self.should_emit_metadata(self.pass_mode());
let proc_res = self.compile_test(WillExecute::No, emit_metadata);
+1
View File
@@ -541,6 +541,7 @@ pub(crate) struct WorkspaceInfo<'a> {
"vex-sdk",
"wasip1",
"wasip2",
"wasip3",
"windows-link",
"windows-sys",
"windows-targets",
-9
View File
@@ -844,15 +844,6 @@ ui/derives/issue-43023.rs
ui/derives/issue-91492.rs
ui/derives/issue-91550.rs
ui/derives/issue-97343.rs
ui/deriving/issue-103157.rs
ui/deriving/issue-15689-1.rs
ui/deriving/issue-15689-2.rs
ui/deriving/issue-18738.rs
ui/deriving/issue-19358.rs
ui/deriving/issue-3935.rs
ui/deriving/issue-58319.rs
ui/deriving/issue-6341.rs
ui/deriving/issue-89188-gat-hrtb.rs
ui/did_you_mean/issue-103909.rs
ui/did_you_mean/issue-105225-named-args.rs
ui/did_you_mean/issue-105225.rs
@@ -2,21 +2,20 @@
// crate. This should not cause anything we use to be invalidated.
// Regression test for #36168.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ aux-build:point.rs
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
#![allow(dead_code)]
#![crate_type = "rlib"]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_free_fn", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_free_fn", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
extern crate point;
@@ -24,7 +23,7 @@
pub mod fn_calls_methods_in_same_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let x = Point { x: 2.0, y: 2.0 };
x.distance_from_origin();
@@ -35,7 +34,7 @@ pub fn check() {
pub mod fn_calls_free_fn {
use point::{self, Point};
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let x = Point { x: 2.0, y: 2.0 };
point::distance_squared(&x);
@@ -46,7 +45,7 @@ pub fn check() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -56,7 +55,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -66,7 +65,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
@@ -3,9 +3,8 @@
// Fns with that type used only in their body are also recompiled, but
// their callers are not.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
@@ -13,24 +12,24 @@
#![crate_type = "rlib"]
// These are expected to require codegen.
#![rustc_partition_codegened(module="struct_point-point", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-fn_with_type_in_sig", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-call_fn_with_type_in_sig", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-fn_with_type_in_body", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-point", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-fn_with_type_in_sig", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-call_fn_with_type_in_sig", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-fn_with_type_in_body", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-fn_make_struct", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-fn_write_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-call_fn_with_type_in_body", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-call_fn_with_type_in_body", cfg="bpass2")]
pub mod point {
#[cfg(bfail1)]
#[cfg(bpass1)]
pub struct Point {
pub x: f32,
pub y: f32,
}
#[cfg(bfail2)]
#[cfg(bpass2)]
pub struct Point {
pub x: f32,
pub y: f32,
@@ -39,18 +38,18 @@ pub struct Point {
impl Point {
pub fn origin() -> Point {
#[cfg(bfail1)]
#[cfg(bpass1)]
return Point { x: 0.0, y: 0.0 };
#[cfg(bfail2)]
#[cfg(bpass2)]
return Point { x: 0.0, y: 0.0, z: 0.0 };
}
pub fn total(&self) -> f32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
return self.x + self.y;
#[cfg(bfail2)]
#[cfg(bpass2)]
return self.x + self.y + self.z;
}
@@ -70,7 +69,7 @@ pub fn x(&self) -> f32 {
pub mod fn_with_type_in_sig {
use point::Point;
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bpass2")]
pub fn boop(p: Option<&Point>) -> f32 {
p.map(|p| p.total()).unwrap_or(0.0)
}
@@ -86,7 +85,7 @@ pub fn boop(p: Option<&Point>) -> f32 {
pub mod call_fn_with_type_in_sig {
use fn_with_type_in_sig;
#[rustc_clean(except="typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,optimized_mir", cfg="bpass2")]
pub fn bip() -> f32 {
fn_with_type_in_sig::boop(None)
}
@@ -102,7 +101,7 @@ pub fn bip() -> f32 {
pub mod fn_with_type_in_body {
use point::Point;
#[rustc_clean(except="typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,optimized_mir", cfg="bpass2")]
pub fn boop() -> f32 {
Point::origin().total()
}
@@ -115,7 +114,7 @@ pub fn boop() -> f32 {
pub mod call_fn_with_type_in_body {
use fn_with_type_in_body;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn bip() -> f32 {
fn_with_type_in_body::boop()
}
@@ -125,7 +124,7 @@ pub fn bip() -> f32 {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bpass2")]
pub fn make_origin(p: Point) -> Point {
Point { ..p }
}
@@ -135,7 +134,7 @@ pub fn make_origin(p: Point) -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -145,7 +144,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,fn_sig,optimized_mir", cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
+4 -4
View File
@@ -2,16 +2,16 @@
// detected then -Zincremental-verify-ich will trigger an assertion.
//@ needs-unwind
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph -Cpanic=unwind
//@ needs-unwind
//@ build-pass (FIXME(62277): could be check-pass?)
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![cfg_attr(bfail1, feature(panic_unwind))]
#![cfg_attr(bpass1, feature(panic_unwind))]
// Turn the panic_unwind crate from an explicit into an implicit query:
#[cfg(bfail1)]
#[cfg(bpass1)]
extern crate panic_unwind;
fn main() {}
@@ -1,22 +1,22 @@
// Test where we change the body of a private method in an impl.
// We then test what sort of functions must be rebuilt as a result.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ build-pass (FIXME(62277): could be check-pass?)
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![feature(rustc_attrs)]
#![allow(dead_code)]
#![crate_type = "rlib"]
#![rustc_partition_codegened(module="struct_point-point", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-point", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
pub mod point {
pub struct Point {
@@ -25,10 +25,10 @@ pub struct Point {
}
fn distance_squared(this: &Point) -> f32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
return this.x + this.y;
#[cfg(bfail2)]
#[cfg(bpass2)]
return this.x * this.x + this.y * this.y;
}
@@ -55,7 +55,7 @@ pub mod fn_calls_methods_in_same_impl {
// (not just marked green) - for example, `DeadVisitor`
// always runs during compilation as a "pass", and loads
// the typeck_root results for bodies.
#[rustc_clean(cfg="bfail2", loaded_from_disk="typeck_root")]
#[rustc_clean(cfg="bpass2", loaded_from_disk="typeck_root")]
pub fn check() {
let x = Point { x: 2.0, y: 2.0 };
x.distance_from_origin();
@@ -66,7 +66,7 @@ pub fn check() {
pub mod fn_calls_methods_in_another_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let mut x = Point { x: 2.0, y: 2.0 };
x.translate(3.0, 3.0);
@@ -77,7 +77,7 @@ pub fn check() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -87,7 +87,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -97,7 +97,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
@@ -4,10 +4,10 @@ pub struct Point {
}
fn distance_squared(this: &Point) -> f32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
return this.x + this.y;
#[cfg(bfail2)]
#[cfg(bpass2)]
return this.x * this.x + this.y * this.y;
}
@@ -1,21 +1,21 @@
// Test where we change the body of a private method in an impl.
// We then test what sort of functions must be rebuilt as a result.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ aux-build:point.rs
//@ build-pass (FIXME(62277): could be check-pass?)
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![crate_type = "rlib"]
#![feature(rustc_attrs)]
#![allow(dead_code)]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
extern crate point;
@@ -23,7 +23,7 @@
pub mod fn_calls_methods_in_same_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let x = Point { x: 2.0, y: 2.0 };
x.distance_from_origin();
@@ -34,7 +34,7 @@ pub fn check() {
pub mod fn_calls_methods_in_another_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let mut x = Point { x: 2.0, y: 2.0 };
x.translate(3.0, 3.0);
@@ -45,7 +45,7 @@ pub fn check() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -55,7 +55,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -65,7 +65,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
@@ -1,22 +1,21 @@
// Test where we change the body of a private method in an impl.
// We then test what sort of functions must be rebuilt as a result.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
#![allow(dead_code)]
#![crate_type = "rlib"]
#![rustc_partition_codegened(module="struct_point-point", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-point", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
pub mod point {
pub struct Point {
@@ -26,10 +25,10 @@ pub struct Point {
impl Point {
pub fn distance_squared(&self) -> f32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
return self.x + self.y;
#[cfg(bfail2)]
#[cfg(bpass2)]
return self.x * self.x + self.y * self.y;
}
@@ -51,7 +50,7 @@ pub fn translate(&mut self, x: f32, y: f32) {
pub mod fn_calls_methods_in_same_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let x = Point { x: 2.0, y: 2.0 };
x.distance_from_origin();
@@ -62,7 +61,7 @@ pub fn check() {
pub mod fn_calls_methods_in_another_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let mut x = Point { x: 2.0, y: 2.0 };
x.translate(3.0, 3.0);
@@ -73,7 +72,7 @@ pub fn check() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -83,7 +82,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -93,7 +92,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
@@ -5,10 +5,10 @@ pub struct Point {
impl Point {
fn distance_squared(&self) -> f32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
return self.x + self.y;
#[cfg(bfail2)]
#[cfg(bpass2)]
return self.x * self.x + self.y * self.y;
}
@@ -1,22 +1,22 @@
// Test where we change the body of a private method in an impl.
// We then test what sort of functions must be rebuilt as a result.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ aux-build:point.rs
//@ build-pass (FIXME(62277): could be check-pass?)
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![crate_type = "rlib"]
#![feature(rustc_attrs)]
#![allow(dead_code)]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_same_impl", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_methods_in_another_impl", cfg="bpass2")]
extern crate point;
@@ -24,7 +24,7 @@
pub mod fn_calls_methods_in_same_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let x = Point { x: 2.0, y: 2.0 };
x.distance_from_origin();
@@ -35,7 +35,7 @@ pub fn check() {
pub mod fn_calls_methods_in_another_impl {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn dirty() {
let mut x = Point { x: 2.0, y: 2.0 };
x.translate(3.0, 3.0);
@@ -46,7 +46,7 @@ pub fn dirty() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -56,7 +56,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -66,7 +66,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
@@ -1,21 +1,20 @@
// Test where we change the body of a public, inherent method.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ build-pass
//@ ignore-backends: gcc
#![crate_type = "rlib"]
#![feature(rustc_attrs)]
#![allow(dead_code)]
#![rustc_partition_codegened(module="struct_point-point", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-point", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_changed_method", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_another_method", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_changed_method", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_another_method", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
pub mod point {
pub struct Point {
@@ -25,10 +24,10 @@ pub struct Point {
impl Point {
pub fn distance_from_origin(&self) -> f32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
return self.x * self.x + self.y * self.y;
#[cfg(bfail2)]
#[cfg(bpass2)]
return (self.x * self.x + self.y * self.y).sqrt();
}
@@ -42,7 +41,7 @@ pub fn x(&self) -> f32 {
pub mod fn_calls_changed_method {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let p = Point { x: 2.0, y: 2.0 };
p.distance_from_origin();
@@ -53,7 +52,7 @@ pub fn check() {
pub mod fn_calls_another_method {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let p = Point { x: 2.0, y: 2.0 };
p.x();
@@ -64,7 +63,7 @@ pub fn check() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -74,7 +73,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -84,7 +83,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
@@ -1,8 +1,7 @@
// Test where we change the *signature* of a public, inherent method.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ build-pass
//@ ignore-backends: gcc
#![crate_type = "rlib"]
@@ -10,13 +9,13 @@
#![allow(dead_code)]
// These are expected to require codegen.
#![rustc_partition_codegened(module="struct_point-point", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-fn_calls_changed_method", cfg="bfail2")]
#![rustc_partition_codegened(module="struct_point-point", cfg="bpass2")]
#![rustc_partition_codegened(module="struct_point-fn_calls_changed_method", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_calls_another_method", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bfail2")]
#![rustc_partition_reused(module="struct_point-fn_calls_another_method", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_make_struct", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_read_field", cfg="bpass2")]
#![rustc_partition_reused(module="struct_point-fn_write_field", cfg="bpass2")]
pub mod point {
pub struct Point {
@@ -25,7 +24,7 @@ pub struct Point {
}
impl Point {
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn distance_from_point(&self, p: Option<Point>) -> f32 {
let p = p.unwrap_or(Point { x: 0.0, y: 0.0 });
let x_diff = self.x - p.x;
@@ -33,7 +32,7 @@ pub fn distance_from_point(&self, p: Option<Point>) -> f32 {
return x_diff * x_diff + y_diff * y_diff;
}
#[cfg(bfail2)]
#[cfg(bpass2)]
pub fn distance_from_point(&self, p: Option<&Point>) -> f32 {
const ORIGIN: &Point = &Point { x: 0.0, y: 0.0 };
let p = p.unwrap_or(ORIGIN);
@@ -52,7 +51,7 @@ pub fn x(&self) -> f32 {
pub mod fn_calls_changed_method {
use point::Point;
#[rustc_clean(except="typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(except="typeck_root,optimized_mir", cfg="bpass2")]
pub fn check() {
let p = Point { x: 2.0, y: 2.0 };
p.distance_from_point(None);
@@ -63,7 +62,7 @@ pub fn check() {
pub mod fn_calls_another_method {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn check() {
let p = Point { x: 2.0, y: 2.0 };
p.x();
@@ -74,7 +73,7 @@ pub fn check() {
pub mod fn_make_struct {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn make_origin() -> Point {
Point { x: 2.0, y: 2.0 }
}
@@ -84,7 +83,7 @@ pub fn make_origin() -> Point {
pub mod fn_read_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn get_x(p: Point) -> f32 {
p.x
}
@@ -94,7 +93,7 @@ pub fn get_x(p: Point) -> f32 {
pub mod fn_write_field {
use point::Point;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bpass2")]
pub fn inc_x(p: &mut Point) {
p.x += 1.0;
}
+59 -60
View File
@@ -5,14 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -23,16 +22,16 @@ fn callee2(_x: u32, _y: i64) {}
// Change Callee (Function)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_callee_function() {
callee1(1, 2)
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_callee_function() {
callee2(1, 2)
}
@@ -40,16 +39,16 @@ pub fn change_callee_function() {
// Change Argument (Function)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_argument_function() {
callee1(1, 2)
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_argument_function() {
callee1(1, 3)
}
@@ -58,15 +57,15 @@ pub fn change_argument_function() {
// Change Callee Indirectly (Function)
mod change_callee_indirectly_function {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::callee1 as callee;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::callee2 as callee;
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn change_callee_indirectly_function() {
callee(1, 2)
}
@@ -80,17 +79,17 @@ fn method2(&self, _x: char, _y: bool) {}
}
// Change Callee (Method)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_callee_method() {
let s = Struct;
s.method1('x', true);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_callee_method() {
let s = Struct;
s.method2('x', true);
@@ -99,17 +98,17 @@ pub fn change_callee_method() {
// Change Argument (Method)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_argument_method() {
let s = Struct;
s.method1('x', true);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_argument_method() {
let s = Struct;
s.method1('y', true);
@@ -118,17 +117,17 @@ pub fn change_argument_method() {
// Change Callee (Method, UFCS)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_ufcs_callee_method() {
let s = Struct;
Struct::method1(&s, 'x', true);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_ufcs_callee_method() {
let s = Struct;
Struct::method2(&s, 'x', true);
@@ -137,17 +136,17 @@ pub fn change_ufcs_callee_method() {
// Change Argument (Method, UFCS)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_argument_method_ufcs() {
let s = Struct;
Struct::method1(&s, 'x', true);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_argument_method_ufcs() {
let s = Struct;
Struct::method1(&s, 'x',false);
@@ -156,17 +155,17 @@ pub fn change_argument_method_ufcs() {
// Change To UFCS
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_to_ufcs() {
let s = Struct;
s.method1('x', true); // ------
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
// One might think this would be expanded in the opt_hir_owner_nodes/Mir, but it actually
// results in slightly different hir_owner/Mir.
pub fn change_to_ufcs() {
@@ -182,15 +181,15 @@ fn method1(&self, _x: char, _y: bool) {}
// Change UFCS Callee Indirectly
pub mod change_ufcs_callee_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Struct as Struct;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Struct2 as Struct;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_ufcs_callee_indirectly() {
let s = Struct;
Struct::method1(&s, 'q', false)
+41 -41
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,16 +19,16 @@
// Change closure body
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_closure_body() {
let _ = || 1u32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_closure_body() {
let _ = || 3u32;
}
@@ -36,17 +36,17 @@ pub fn change_closure_body() {
// Add parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_parameter() {
let x = 0u32;
let _ = | | x + 1;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_parameter() {
let x = 0u32;
let _ = |x: u32| x + 1;
@@ -55,16 +55,16 @@ pub fn add_parameter() {
// Change parameter pattern
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_parameter_pattern() {
let _ = | x : (u32,)| x;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_parameter_pattern() {
let _ = |(x,): (u32,)| x;
}
@@ -72,16 +72,16 @@ pub fn change_parameter_pattern() {
// Add `move` to closure
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_move() {
let _ = || 1;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_move() {
let _ = move || 1;
}
@@ -89,17 +89,17 @@ pub fn add_move() {
// Add type ascription to parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_type_ascription_to_parameter() {
let closure = |x | x + 1u32;
let _: u32 = closure(1);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg = "bpass6")]
pub fn add_type_ascription_to_parameter() {
let closure = |x: u32| x + 1u32;
let _: u32 = closure(1);
@@ -108,17 +108,17 @@ pub fn add_type_ascription_to_parameter() {
// Change parameter type
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_parameter_type() {
let closure = |x: u32| (x as u64) + 1;
let _ = closure(1);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_parameter_type() {
let closure = |x: u16| (x as u64) + 1;
let _ = closure(1);
+36 -36
View File
@@ -5,10 +5,10 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph -O
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -16,75 +16,75 @@
// Change const visibility
#[cfg(bfail1)]
#[cfg(bpass1)]
const CONST_VISIBILITY: u8 = 0;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
pub const CONST_VISIBILITY: u8 = 0;
// Change type from i32 to u32
#[cfg(bfail1)]
#[cfg(bpass1)]
const CONST_CHANGE_TYPE_1: i32 = 0;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_TYPE_1: u32 = 0;
// Change type from Option<u32> to Option<u64>
#[cfg(bfail1)]
#[cfg(bpass1)]
const CONST_CHANGE_TYPE_2: Option<u32> = None;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_TYPE_2: Option<u64> = None;
// Change value between simple literals
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_VALUE_1: i16 = {
#[cfg(bfail1)]
#[cfg(bpass1)]
{ 1 }
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{ 2 }
};
// Change value between expressions
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_VALUE_2: i16 = {
#[cfg(bfail1)]
#[cfg(bpass1)]
{ 1 + 1 }
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{ 1 + 2 }
};
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_VALUE_3: i16 = {
#[cfg(bfail1)]
#[cfg(bpass1)]
{ 2 + 3 }
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{ 2 * 3 }
};
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_VALUE_4: i16 = {
#[cfg(bfail1)]
#[cfg(bpass1)]
{ 1 + 2 * 3 }
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{ 1 + 2 * 4 }
};
@@ -94,17 +94,17 @@
struct ReferencedType2;
mod const_change_type_indirectly {
#[cfg(bfail1)]
#[cfg(bpass1)]
use super::ReferencedType1 as Type;
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
use super::ReferencedType2 as Type;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_TYPE_INDIRECTLY_1: Type = Type;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
const CONST_CHANGE_TYPE_INDIRECTLY_2: Option<Type> = None;
}
+6 -7
View File
@@ -2,8 +2,7 @@
// Emitting these lints is delayed until after ast lowering.
// This test tests that the delayed hints are correctly hashed for incremental.
//@ check-pass
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: cpass1 cpass2 cpass3
//@ compile-flags: -Z query-dep-graph -O -Zincremental-ignore-spans
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
@@ -15,13 +14,13 @@
// Between revision 1 and 2, the only thing we change is that we add "test = 2"
// This will emit an extra delayed lint, but it will not change the HIR hash.
// We check that even tho the HIR hash didn't change, the extra lint is emitted
#[cfg_attr(bfail1, doc(hidden))]
#[cfg_attr(not(bfail1), doc(hidden, test = 2))]
//[bfail2,bfail3]~^ WARN `#[doc(test(...)]` takes a list of attributes [invalid_doc_attributes]
#[cfg_attr(cpass1, doc(hidden))]
#[cfg_attr(not(cpass1), doc(hidden, test = 2))]
//[cpass2,cpass3]~^ WARN `#[doc(test(...)]` takes a list of attributes [invalid_doc_attributes]
// The HIR hash should not change between revisions, for this test to be representative
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="cpass2")]
#[rustc_clean(cfg="cpass3")]
trait Test {}
fn main() {}
+95 -95
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -28,7 +28,7 @@ pub enum Enum {
}
// Change field value (struct-like) -----------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_value_struct_like() -> Enum {
Enum::Struct {
x: 0,
@@ -37,11 +37,11 @@ pub fn change_field_value_struct_like() -> Enum {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_field_value_struct_like() -> Enum {
Enum::Struct {
x: 0,
@@ -53,7 +53,7 @@ pub fn change_field_value_struct_like() -> Enum {
// Change field order (struct-like) -----------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_order_struct_like() -> Enum {
Enum::Struct {
x: 3,
@@ -62,11 +62,11 @@ pub fn change_field_order_struct_like() -> Enum {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
// FIXME(michaelwoerister):Interesting. I would have thought that that changes the MIR. And it
// would if it were not all constants
pub fn change_field_order_struct_like() -> Enum {
@@ -94,7 +94,7 @@ pub enum Enum2 {
}
// Change constructor path (struct-like) ------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_path_struct_like() {
let _ = Enum ::Struct {
x: 0,
@@ -103,11 +103,11 @@ pub fn change_constructor_path_struct_like() {
};
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_path_struct_like() {
let _ = Enum2::Struct {
x: 0,
@@ -119,7 +119,7 @@ pub fn change_constructor_path_struct_like() {
// Change variant (regular struct) ------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_variant_struct_like() {
let _ = Enum2::Struct {
x: 0,
@@ -128,11 +128,11 @@ pub fn change_constructor_variant_struct_like() {
};
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_variant_struct_like() {
let _ = Enum2::Struct2 {
x: 0,
@@ -144,15 +144,15 @@ pub fn change_constructor_variant_struct_like() {
// Change constructor path indirectly (struct-like) -------------------------
pub mod change_constructor_path_indirectly_struct_like {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Enum as TheEnum;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Enum2 as TheEnum;
#[rustc_clean(cfg="bfail2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> TheEnum {
TheEnum::Struct {
x: 0,
@@ -166,15 +166,15 @@ pub fn function() -> TheEnum {
// Change constructor variant indirectly (struct-like) ---------------------------
pub mod change_constructor_variant_indirectly_struct_like {
use super::Enum2;
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Enum2::Struct as Variant;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Enum2::Struct2 as Variant;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> Enum2 {
Variant {
x: 0,
@@ -186,16 +186,16 @@ pub fn function() -> Enum2 {
// Change field value (tuple-like) -------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_value_tuple_like() -> Enum {
Enum::Tuple(0, 1, 2)
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_field_value_tuple_like() -> Enum {
Enum::Tuple(0, 1, 3)
}
@@ -203,22 +203,22 @@ pub fn change_field_value_tuple_like() -> Enum {
// Change constructor path (tuple-like) --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_path_tuple_like() {
let _ = Enum ::Tuple(0, 1, 2);
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="opt_hir_owner_nodes,typeck_root"
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="opt_hir_owner_nodes,typeck_root"
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_path_tuple_like() {
let _ = Enum2::Tuple(0, 1, 2);
}
@@ -226,22 +226,22 @@ pub fn change_constructor_path_tuple_like() {
// Change constructor variant (tuple-like) --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_variant_tuple_like() {
let _ = Enum2::Tuple (0, 1, 2);
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="opt_hir_owner_nodes,typeck_root"
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="opt_hir_owner_nodes,typeck_root"
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_variant_tuple_like() {
let _ = Enum2::Tuple2(0, 1, 2);
}
@@ -249,15 +249,15 @@ pub fn change_constructor_variant_tuple_like() {
// Change constructor path indirectly (tuple-like) ---------------------------
pub mod change_constructor_path_indirectly_tuple_like {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Enum as TheEnum;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Enum2 as TheEnum;
#[rustc_clean(cfg="bfail2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> TheEnum {
TheEnum::Tuple(0, 1, 2)
}
@@ -268,15 +268,15 @@ pub fn function() -> TheEnum {
// Change constructor variant indirectly (tuple-like) ---------------------------
pub mod change_constructor_variant_indirectly_tuple_like {
use super::Enum2;
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Enum2::Tuple as Variant;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Enum2::Tuple2 as Variant;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> Enum2 {
Variant(0, 1, 2)
}
@@ -296,16 +296,16 @@ pub enum Clike2 {
}
// Change constructor path (C-like) --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_path_c_like() {
let _x = Clike ::B;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_path_c_like() {
let _x = Clike2::B;
}
@@ -313,16 +313,16 @@ pub fn change_constructor_path_c_like() {
// Change constructor variant (C-like) --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_variant_c_like() {
let _x = Clike::A;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_variant_c_like() {
let _x = Clike::C;
}
@@ -330,15 +330,15 @@ pub fn change_constructor_variant_c_like() {
// Change constructor path indirectly (C-like) ---------------------------
pub mod change_constructor_path_indirectly_c_like {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Clike as TheEnum;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Clike2 as TheEnum;
#[rustc_clean(cfg="bfail2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> TheEnum {
TheEnum::B
}
@@ -349,15 +349,15 @@ pub fn function() -> TheEnum {
// Change constructor variant indirectly (C-like) ---------------------------
pub mod change_constructor_variant_indirectly_c_like {
use super::Clike;
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::Clike::A as Variant;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::Clike::B as Variant;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> Clike {
Variant
}
+227 -227
View File
@@ -10,13 +10,13 @@
// results in a change of the ICH for the enum's metadata, and that it stays
// the same between rev2 and rev3.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -26,30 +26,30 @@
// Change enum visibility -----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumVisibility { A }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub enum EnumVisibility { A }
// Change name of a c-style variant -------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeNameCStyleVariant {
Variant1,
Variant2,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeNameCStyleVariant {
Variant1,
Variant2Changed,
@@ -58,17 +58,17 @@ enum EnumChangeNameCStyleVariant {
// Change name of a tuple-style variant ---------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeNameTupleStyleVariant {
Variant1,
Variant2(u32, f32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeNameTupleStyleVariant {
Variant1,
Variant2Changed(u32, f32),
@@ -77,17 +77,17 @@ enum EnumChangeNameTupleStyleVariant {
// Change name of a struct-style variant --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeNameStructStyleVariant {
Variant1,
Variant2 { a: u32, b: f32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeNameStructStyleVariant {
Variant1,
Variant2Changed { a: u32, b: f32 },
@@ -96,33 +96,33 @@ enum EnumChangeNameStructStyleVariant {
// Change the value of a c-style variant --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeValueCStyleVariant0 {
Variant1,
Variant2 = 11,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeValueCStyleVariant0 {
Variant1,
Variant2 = 22,
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeValueCStyleVariant1 {
Variant1,
Variant2,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeValueCStyleVariant1 {
Variant1,
Variant2 = 11,
@@ -131,16 +131,16 @@ enum EnumChangeValueCStyleVariant1 {
// Add a c-style variant ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddCStyleVariant {
Variant1,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddCStyleVariant {
Variant1,
Variant2,
@@ -149,17 +149,17 @@ enum EnumAddCStyleVariant {
// Remove a c-style variant ---------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumRemoveCStyleVariant {
Variant1,
Variant2,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumRemoveCStyleVariant {
Variant1,
}
@@ -167,16 +167,16 @@ enum EnumRemoveCStyleVariant {
// Add a tuple-style variant --------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddTupleStyleVariant {
Variant1,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddTupleStyleVariant {
Variant1,
Variant2(u32, f32),
@@ -185,17 +185,17 @@ enum EnumAddTupleStyleVariant {
// Remove a tuple-style variant -----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumRemoveTupleStyleVariant {
Variant1,
Variant2(u32, f32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumRemoveTupleStyleVariant {
Variant1,
}
@@ -203,16 +203,16 @@ enum EnumRemoveTupleStyleVariant {
// Add a struct-style variant -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddStructStyleVariant {
Variant1,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddStructStyleVariant {
Variant1,
Variant2 { a: u32, b: f32 },
@@ -221,17 +221,17 @@ enum EnumAddStructStyleVariant {
// Remove a struct-style variant ----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumRemoveStructStyleVariant {
Variant1,
Variant2 { a: u32, b: f32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumRemoveStructStyleVariant {
Variant1,
}
@@ -239,16 +239,16 @@ enum EnumRemoveStructStyleVariant {
// Change the type of a field in a tuple-style variant ------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeFieldTypeTupleStyleVariant {
Variant1(u32, u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeFieldTypeTupleStyleVariant {
Variant1(u32,
u64),
@@ -257,17 +257,17 @@ enum EnumChangeFieldTypeTupleStyleVariant {
// Change the type of a field in a struct-style variant -----------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeFieldTypeStructStyleVariant {
Variant1,
Variant2 { a: u32, b: u32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeFieldTypeStructStyleVariant {
Variant1,
Variant2 {
@@ -279,16 +279,16 @@ enum EnumChangeFieldTypeStructStyleVariant {
// Change the name of a field in a struct-style variant -----------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeFieldNameStructStyleVariant {
Variant1 { a: u32, b: u32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeFieldNameStructStyleVariant {
Variant1 { a: u32, c: u32 },
}
@@ -296,16 +296,16 @@ enum EnumChangeFieldNameStructStyleVariant {
// Change order of fields in a tuple-style variant ----------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeOrderTupleStyleVariant {
Variant1(u32, u64),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeOrderTupleStyleVariant {
Variant1(
u64,
@@ -315,16 +315,16 @@ enum EnumChangeOrderTupleStyleVariant {
// Change order of fields in a struct-style variant ---------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeFieldOrderStructStyleVariant {
Variant1 { a: u32, b: f32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeFieldOrderStructStyleVariant {
Variant1 { b: f32, a: u32 },
}
@@ -332,16 +332,16 @@ enum EnumChangeFieldOrderStructStyleVariant {
// Add a field to a tuple-style variant ---------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddFieldTupleStyleVariant {
Variant1(u32, u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddFieldTupleStyleVariant {
Variant1(u32, u32, u32),
}
@@ -349,16 +349,16 @@ enum EnumAddFieldTupleStyleVariant {
// Add a field to a struct-style variant --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddFieldStructStyleVariant {
Variant1 { a: u32, b: u32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddFieldStructStyleVariant {
Variant1 { a: u32, b: u32, c: u32 },
}
@@ -366,17 +366,17 @@ enum EnumAddFieldStructStyleVariant {
// Add #[must_use] to the enum ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddMustUse {
Variant1,
Variant2,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[must_use]
enum EnumAddMustUse {
Variant1,
@@ -386,17 +386,17 @@ enum EnumAddMustUse {
// Add #[repr(C)] to the enum -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddReprC {
Variant1,
Variant2,
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="type_of")]
#[rustc_clean(cfg="bpass6")]
#[repr(C)]
enum EnumAddReprC {
Variant1,
@@ -406,16 +406,16 @@ enum EnumAddReprC {
// Change the name of a type parameter ----------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeNameOfTypeParameter<S> {
Variant1(S),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeNameOfTypeParameter<T> {
Variant1(T),
}
@@ -423,17 +423,17 @@ enum EnumChangeNameOfTypeParameter<T> {
// Add a type parameter ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddTypeParameter<S> {
Variant1(S),
Variant2(S),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddTypeParameter<S, T> {
Variant1(S),
Variant2(T),
@@ -442,16 +442,16 @@ enum EnumAddTypeParameter<S, T> {
// Change the name of a lifetime parameter ------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumChangeNameOfLifetimeParameter<'a> {
Variant1(&'a u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumChangeNameOfLifetimeParameter<'b> {
Variant1(&'b u32),
}
@@ -459,17 +459,17 @@ enum EnumChangeNameOfLifetimeParameter<'b> {
// Add a lifetime parameter ---------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddLifetimeParameter<'a> {
Variant1(&'a u32),
Variant2(&'a u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddLifetimeParameter<'a, 'b> {
Variant1(&'a u32),
Variant2(&'b u32),
@@ -478,34 +478,34 @@ enum EnumAddLifetimeParameter<'a, 'b> {
// Add a lifetime bound to a lifetime parameter -------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddLifetimeParameterBound<'a, 'b> {
Variant1(&'a u32),
Variant2(&'b u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddLifetimeParameterBound<'a, 'b: 'a> {
Variant1(&'a u32),
Variant2(&'b u32),
}
// Add a lifetime bound to a type parameter -----------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddLifetimeBoundToParameter<'a, T> {
Variant1(T),
Variant2(&'a u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddLifetimeBoundToParameter<'a, T: 'a> {
Variant1(T),
Variant2(&'a u32),
@@ -514,16 +514,16 @@ enum EnumAddLifetimeBoundToParameter<'a, T: 'a> {
// Add a trait bound to a type parameter --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddTraitBound<S> {
Variant1(S),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddTraitBound<T: Sync> {
Variant1(T),
}
@@ -531,17 +531,17 @@ enum EnumAddTraitBound<T: Sync> {
// Add a lifetime bound to a lifetime parameter in where clause ---------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddLifetimeParameterBoundWhere<'a, 'b> {
Variant1(&'a u32),
Variant2(&'b u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddLifetimeParameterBoundWhere<'a, 'b> where 'b: 'a {
Variant1(&'a u32),
Variant2(&'b u32),
@@ -550,17 +550,17 @@ enum EnumAddLifetimeParameterBoundWhere<'a, 'b> where 'b: 'a {
// Add a lifetime bound to a type parameter in where clause -------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddLifetimeBoundToParameterWhere<'a, T> {
Variant1(T),
Variant2(&'a u32),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddLifetimeBoundToParameterWhere<'a, T> where T: 'a {
Variant1(T),
Variant2(&'a u32),
@@ -569,16 +569,16 @@ enum EnumAddLifetimeBoundToParameterWhere<'a, T> where T: 'a {
// Add a trait bound to a type parameter in where clause ----------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumAddTraitBoundWhere<S> {
Variant1(S),
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of,predicates_of,type_of")]
#[rustc_clean(cfg="bpass6")]
enum EnumAddTraitBoundWhere<T> where T: Sync {
Variant1(T),
}
@@ -586,17 +586,17 @@ enum EnumAddTraitBoundWhere<T> where T: Sync {
// In an enum with two variants, swap usage of type parameters ----------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumSwapUsageTypeParameters<A, B> {
Variant1 { a: A },
Variant2 { a: B },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum EnumSwapUsageTypeParameters<A, B> {
Variant1 {
a: B
@@ -609,17 +609,17 @@ enum EnumSwapUsageTypeParameters<A, B> {
// In an enum with two variants, swap usage of lifetime parameters ------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
enum EnumSwapUsageLifetimeParameters<'a, 'b> {
Variant1 { a: &'a u32 },
Variant2 { b: &'b u32 },
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum EnumSwapUsageLifetimeParameters<'a, 'b> {
Variant1 {
a: &'b u32
@@ -638,15 +638,15 @@ enum EnumSwapUsageLifetimeParameters<'a, 'b> {
// Change field type in tuple-style variant indirectly by modifying a use statement
mod change_field_type_indirectly_tuple_style {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as FieldType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as FieldType;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum TupleStyle {
Variant1(
FieldType
@@ -658,15 +658,15 @@ enum TupleStyle {
// Change field type in record-style variant indirectly by modifying a use statement
mod change_field_type_indirectly_struct_style {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as FieldType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as FieldType;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
enum StructStyle {
Variant1 {
a: FieldType
@@ -683,15 +683,15 @@ trait ReferencedTrait2 {}
// Change trait bound of type parameter indirectly by modifying a use statement
mod change_trait_bound_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait1 as Trait;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
enum Enum<T: Trait> {
Variant1(T)
}
@@ -701,15 +701,15 @@ enum Enum<T: Trait> {
// Change trait bound of type parameter in where clause indirectly by modifying a use statement
mod change_trait_bound_indirectly_where {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait1 as Trait;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
enum Enum<T> where T: Trait {
Variant1(T)
}
+23 -23
View File
@@ -1,10 +1,10 @@
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -14,16 +14,16 @@
// the hash of the opt_hir_owner_nodes node should change, but not the hash of
// either the hir_owner or the Metadata node.
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn body_not_exported_to_metadata() -> u32 {
1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn body_not_exported_to_metadata() -> u32 {
2
}
@@ -34,17 +34,17 @@ pub fn body_not_exported_to_metadata() -> u32 {
// marked as #[inline]. Only the hash of the hir_owner depnode should be
// unaffected by a change to the body.
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[inline]
pub fn body_exported_to_metadata_because_of_inline() -> u32 {
1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[inline]
pub fn body_exported_to_metadata_because_of_inline() -> u32 {
2
@@ -56,17 +56,17 @@ pub fn body_exported_to_metadata_because_of_inline() -> u32 {
// generic. Only the hash of the hir_owner depnode should be
// unaffected by a change to the body.
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[inline]
pub fn body_exported_to_metadata_because_of_generic() -> u32 {
1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[inline]
pub fn body_exported_to_metadata_because_of_generic() -> u32 {
2
+83 -83
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,168 +19,168 @@
#![crate_type = "rlib"]
// Change function name --------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn change_function_name1(c: i64) -> i32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn change_function_name2(c: i64) -> i32;
}
// Change parameter name -------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn change_parameter_name(c: i64) -> i32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn change_parameter_name(d: i64) -> i32;
}
// Change parameter type -------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn change_parameter_type(c: i64) -> i32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn change_parameter_type(c: i32) -> i32;
}
// Change return type ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn change_return_type(c: i32) -> i32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn change_return_type(c: i32) -> i8 ;
}
// Add parameter ---------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn add_parameter(c: i32 ) -> i32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn add_parameter(c: i32, d: i32) -> i32;
}
// Add return type -------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn add_return_type(c: i32) ;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn add_return_type(c: i32) -> i32;
}
// Make function variadic ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn make_function_variadic(c: i32 );
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn make_function_variadic(c: i32, ...);
}
// Change calling convention ---------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn change_calling_convention(c: (i32,));
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass6")]
extern "rust-call" {
pub fn change_calling_convention(c: (i32,));
}
// Make function public --------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
fn make_function_public(c: i32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn make_function_public(c: i32);
}
// Add function ----------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
extern "C" {
pub fn add_function1(c: i32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn add_function1(c: i32);
pub fn add_function2();
}
// Change link-name ------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[link(name = "foo")]
extern "C" {
pub fn change_link_name(c: i32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
#[link(name = "bar")]
extern "C" {
pub fn change_link_name(c: i32);
@@ -191,15 +191,15 @@
// Indirectly change parameter type --------------------------------------------
mod indirectly_change_parameter_type {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::c_i32 as c_int;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::c_i64 as c_int;
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn indirectly_change_parameter_type(c: c_int);
}
@@ -207,15 +207,15 @@ mod indirectly_change_parameter_type {
// Indirectly change return type --------------------------------------------
mod indirectly_change_return_type {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::c_i32 as c_int;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::c_i64 as c_int;
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
extern "C" {
pub fn indirectly_change_return_type() -> c_int;
}
+71 -71
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,7 +19,7 @@
// Change loop body ------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_loop_body() {
let mut _x = 0;
for _ in 0..1 {
@@ -28,11 +28,11 @@ pub fn change_loop_body() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_loop_body() {
let mut _x = 0;
for _ in 0..1 {
@@ -44,7 +44,7 @@ pub fn change_loop_body() {
// Change iteration variable name ----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_iteration_variable_name() {
let mut _x = 0;
for _i in 0..1 {
@@ -53,11 +53,11 @@ pub fn change_iteration_variable_name() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_iteration_variable_name() {
let mut _x = 0;
for _a in 0..1 {
@@ -69,7 +69,7 @@ pub fn change_iteration_variable_name() {
// Change iteration variable pattern -------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_iteration_variable_pattern() {
let mut _x = 0;
for _i in &[0, 1, 2] {
@@ -78,11 +78,11 @@ pub fn change_iteration_variable_pattern() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_iteration_variable_pattern() {
let mut _x = 0;
for &_i in &[0, 1, 2] {
@@ -94,7 +94,7 @@ pub fn change_iteration_variable_pattern() {
// Change iterable -------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_iterable() {
let mut _x = 0;
for _ in &[0, 1, 2] {
@@ -103,11 +103,11 @@ pub fn change_iterable() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, promoted_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, promoted_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, promoted_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, promoted_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_iterable() {
let mut _x = 0;
for _ in &[0, 1, 3] {
@@ -119,7 +119,7 @@ pub fn change_iterable() {
// Add break -------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_break() {
let mut _x = 0;
for _ in 0..1 {
@@ -128,11 +128,11 @@ pub fn add_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_break() {
let mut _x = 0;
for _ in 0..1 {
@@ -144,7 +144,7 @@ pub fn add_break() {
// Add loop label --------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label() {
let mut _x = 0;
for _ in 0..1 {
@@ -153,11 +153,11 @@ pub fn add_loop_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label() {
let mut _x = 0;
'label: for _ in 0..1 {
@@ -169,7 +169,7 @@ pub fn add_loop_label() {
// Add loop label to break -----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: for _ in 0..1 {
@@ -178,11 +178,11 @@ pub fn add_loop_label_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: for _ in 0..1 {
@@ -194,7 +194,7 @@ pub fn add_loop_label_to_break() {
// Change break label ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_break_label() {
let mut _x = 0;
'outer: for _ in 0..1 {
@@ -205,11 +205,11 @@ pub fn change_break_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_break_label() {
let mut _x = 0;
'outer: for _ in 0..1 {
@@ -223,7 +223,7 @@ pub fn change_break_label() {
// Add loop label to continue --------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: for _ in 0..1 {
@@ -232,11 +232,11 @@ pub fn add_loop_label_to_continue() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: for _ in 0..1 {
@@ -248,7 +248,7 @@ pub fn add_loop_label_to_continue() {
// Change continue label ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_label() {
let mut _x = 0;
'outer: for _ in 0..1 {
@@ -259,11 +259,11 @@ pub fn change_continue_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_label() {
let mut _x = 0;
'outer: for _ in 0..1 {
@@ -277,7 +277,7 @@ pub fn change_continue_label() {
// Change continue to break ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_to_break() {
let mut _x = 0;
for _ in 0..1 {
@@ -286,11 +286,11 @@ pub fn change_continue_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_to_break() {
let mut _x = 0;
for _ in 0..1 {
+151 -151
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(linkage)]
@@ -20,309 +20,309 @@
// Add Parameter ---------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_parameter() {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn add_parameter(p: i32) {}
// Add Return Type -------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_return_type() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg = "bpass6")]
pub fn add_return_type() -> () {}
// Change Parameter Type -------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn type_of_parameter(p: i32) {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn type_of_parameter(p: i64) {}
// Change Parameter Type Reference ---------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn type_of_parameter_ref(p: &i32) {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn type_of_parameter_ref(p: &mut i32) {}
// Change Parameter Order ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn order_of_parameters(p1: i32, p2: i64) {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn order_of_parameters(p2: i64, p1: i32) {}
// Unsafe ----------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn make_unsafe() {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub unsafe fn make_unsafe() {}
// Extern ----------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn make_extern() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, typeck_root, fn_sig")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, typeck_root, fn_sig")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, typeck_root, fn_sig")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, typeck_root, fn_sig")]
#[rustc_clean(cfg = "bpass6")]
pub extern "C" fn make_extern() {}
// Type Parameter --------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn type_parameter () {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, generics_of, type_of, predicates_of"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, generics_of, type_of, predicates_of"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn type_parameter<T>() {}
// Lifetime Parameter ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn lifetime_parameter () {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, generics_of,fn_sig")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, generics_of,fn_sig")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, generics_of,fn_sig")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, generics_of,fn_sig")]
#[rustc_clean(cfg = "bpass6")]
pub fn lifetime_parameter<'a>() {}
// Trait Bound -----------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn trait_bound<T >() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail3")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass3")]
pub fn trait_bound<T: Eq>() {}
// Builtin Bound ---------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn builtin_bound<T >() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass6")]
pub fn builtin_bound<T: Send>() {}
// Lifetime Bound --------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn lifetime_bound<'a, T>() {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, generics_of, type_of, predicates_of,fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, generics_of, type_of, predicates_of,fn_sig,optimized_mir"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn lifetime_bound<'a, T: 'a>() {}
// Second Trait Bound ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn second_trait_bound<T: Eq >() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail3")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass3")]
pub fn second_trait_bound<T: Eq + Clone>() {}
// Second Builtin Bound --------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn second_builtin_bound<T: Send >() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass6")]
pub fn second_builtin_bound<T: Send + Sized>() {}
// Second Lifetime Bound -------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn second_lifetime_bound<'a, 'b, T: 'a >() {}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, generics_of, type_of, predicates_of,fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, generics_of, type_of, predicates_of,fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn second_lifetime_bound<'a, 'b, T: 'a + 'b>() {}
// Inline ----------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn inline() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
#[inline]
pub fn inline() {}
// Inline Never ----------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[inline(always)]
pub fn inline_never() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
#[inline(never)]
pub fn inline_never() {}
// No Mangle -------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn no_mangle() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
#[unsafe(no_mangle)]
pub fn no_mangle() {}
// Linkage ---------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn linkage() {}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5")]
#[rustc_clean(cfg = "bpass6")]
#[linkage = "weak_odr"]
pub fn linkage() {}
// Return Impl Trait -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn return_impl_trait() -> i32 {
0
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, typeck_root, fn_sig")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, typeck_root, fn_sig, optimized_mir")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, typeck_root, fn_sig")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, typeck_root, fn_sig, optimized_mir")]
#[rustc_clean(cfg = "bpass6")]
pub fn return_impl_trait() -> impl Clone {
0
}
// Change Return Impl Trait ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_return_impl_trait() -> impl Clone {
0u32
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg = "bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg = "bpass6")]
pub fn change_return_impl_trait() -> impl Copy {
0u32
}
@@ -333,21 +333,21 @@ pub fn change_return_impl_trait() -> impl Copy {
pub struct ReferencedType2;
pub mod change_return_type_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as ReturnType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as ReturnType;
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn indirect_return_type() -> ReturnType {
ReturnType {}
}
@@ -356,21 +356,21 @@ pub fn indirect_return_type() -> ReturnType {
// Change Parameter Type Indirectly --------------------------------------------
pub mod change_parameter_type_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as ParameterType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as ParameterType;
#[rustc_clean(
cfg = "bfail2",
cfg = "bpass2",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(
cfg = "bfail5",
cfg = "bpass5",
except = "opt_hir_owner_nodes, optimized_mir, typeck_root, fn_sig"
)]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass6")]
pub fn indirect_parameter_type(p: ParameterType) {}
}
@@ -380,30 +380,30 @@ pub trait ReferencedTrait1 {}
pub trait ReferencedTrait2 {}
pub mod change_trait_bound_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait1 as Trait;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass6")]
pub fn indirect_trait_bound<T: Trait>(p: T) {}
}
// Change Trait Bound Indirectly In Where Clause -------------------------------
pub mod change_trait_bound_indirectly_in_where_clause {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait1 as Trait;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(cfg = "bfail2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail3")]
#[rustc_clean(cfg = "bfail5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bfail6")]
#[rustc_clean(cfg = "bpass2", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass3")]
#[rustc_clean(cfg = "bpass5", except = "opt_hir_owner_nodes, predicates_of")]
#[rustc_clean(cfg = "bpass6")]
pub fn indirect_trait_bound_where<T>(p: T)
where
T: Trait,
+53 -53
View File
@@ -5,20 +5,20 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
#![crate_type="rlib"]
// Change condition (if)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_condition(x: bool) -> u32 {
if x {
return 1
@@ -27,11 +27,11 @@ pub fn change_condition(x: bool) -> u32 {
return 0
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_condition(x: bool) -> u32 {
if !x {
return 1
@@ -41,7 +41,7 @@ pub fn change_condition(x: bool) -> u32 {
}
// Change then branch (if)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_then_branch(x: bool) -> u32 {
if x {
return 1
@@ -50,11 +50,11 @@ pub fn change_then_branch(x: bool) -> u32 {
return 0
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_then_branch(x: bool) -> u32 {
if x {
return 2
@@ -66,7 +66,7 @@ pub fn change_then_branch(x: bool) -> u32 {
// Change else branch (if)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_else_branch(x: bool) -> u32 {
if x {
1
@@ -75,11 +75,11 @@ pub fn change_else_branch(x: bool) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_else_branch(x: bool) -> u32 {
if x {
1
@@ -91,7 +91,7 @@ pub fn change_else_branch(x: bool) -> u32 {
// Add else branch (if)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_else_branch(x: bool) -> u32 {
let mut ret = 1;
@@ -103,11 +103,11 @@ pub fn add_else_branch(x: bool) -> u32 {
ret
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_else_branch(x: bool) -> u32 {
let mut ret = 1;
@@ -122,7 +122,7 @@ pub fn add_else_branch(x: bool) -> u32 {
// Change condition (if let)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_condition_if_let(x: Option<u32>) -> u32 {
if let Some(_x) = x {
return 1
@@ -131,11 +131,11 @@ pub fn change_condition_if_let(x: Option<u32>) -> u32 {
0
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_condition_if_let(x: Option<u32>) -> u32 {
if let Some(_ ) = x {
return 1
@@ -147,7 +147,7 @@ pub fn change_condition_if_let(x: Option<u32>) -> u32 {
// Change then branch (if let)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
if let Some(x) = x {
return x //-
@@ -156,11 +156,11 @@ pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
0
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
if let Some(x) = x {
return x + 1
@@ -172,7 +172,7 @@ pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
// Change else branch (if let)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
if let Some(x) = x {
x
@@ -181,11 +181,11 @@ pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
if let Some(x) = x {
x
@@ -197,7 +197,7 @@ pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
// Add else branch (if let)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_else_branch_if_let(x: Option<u32>) -> u32 {
let mut ret = 1;
@@ -209,11 +209,11 @@ pub fn add_else_branch_if_let(x: Option<u32>) -> u32 {
ret
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_else_branch_if_let(x: Option<u32>) -> u32 {
let mut ret = 1;
@@ -5,29 +5,29 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
#![crate_type="rlib"]
// Change simple index
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn change_simple_index(slice: &[u32]) -> u32 {
slice[3]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn change_simple_index(slice: &[u32]) -> u32 {
slice[4]
}
@@ -35,16 +35,16 @@ fn change_simple_index(slice: &[u32]) -> u32 {
// Change lower bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn change_lower_bound(slice: &[u32]) -> &[u32] {
&slice[3..5]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn change_lower_bound(slice: &[u32]) -> &[u32] {
&slice[2..5]
}
@@ -52,16 +52,16 @@ fn change_lower_bound(slice: &[u32]) -> &[u32] {
// Change upper bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn change_upper_bound(slice: &[u32]) -> &[u32] {
&slice[3..5]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn change_upper_bound(slice: &[u32]) -> &[u32] {
&slice[3..7]
}
@@ -69,16 +69,16 @@ fn change_upper_bound(slice: &[u32]) -> &[u32] {
// Add lower bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn add_lower_bound(slice: &[u32]) -> &[u32] {
&slice[ ..4]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn add_lower_bound(slice: &[u32]) -> &[u32] {
&slice[3..4]
}
@@ -86,16 +86,16 @@ fn add_lower_bound(slice: &[u32]) -> &[u32] {
// Add upper bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn add_upper_bound(slice: &[u32]) -> &[u32] {
&slice[3.. ]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn add_upper_bound(slice: &[u32]) -> &[u32] {
&slice[3..7]
}
@@ -103,16 +103,16 @@ fn add_upper_bound(slice: &[u32]) -> &[u32] {
// Change mutability
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn change_mutability(slice: &mut [u32]) -> u32 {
(&mut slice[3..5])[0]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn change_mutability(slice: &mut [u32]) -> u32 {
(& slice[3..5])[0]
}
@@ -120,16 +120,16 @@ fn change_mutability(slice: &mut [u32]) -> u32 {
// Exclusive to inclusive range
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
fn exclusive_to_inclusive_range(slice: &[u32]) -> &[u32] {
&slice[3.. 7]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn exclusive_to_inclusive_range(slice: &[u32]) -> &[u32] {
&slice[3..=7]
}
+257 -258
View File
@@ -6,14 +6,13 @@
// rev3 and make sure that the hash has not changed.
//@ edition: 2024
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -22,26 +21,26 @@
pub struct Foo;
// Change Method Name -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
pub fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass6")]
pub fn method_name2() { }
}
// Change Method Body -----------------------------------------------------------
//
// This should affect the method itself, but not the impl.
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//------------------------------------------------------------------------------------------
//--------------------------
@@ -52,16 +51,16 @@ pub fn method_body() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2",except="opt_hir_owner_nodes,optimized_mir,promoted_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5",except="opt_hir_owner_nodes,optimized_mir,promoted_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2",except="opt_hir_owner_nodes,optimized_mir,promoted_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5",except="opt_hir_owner_nodes,optimized_mir,promoted_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn method_body() {
println!("Hello, world!");
}
@@ -71,7 +70,7 @@ pub fn method_body() {
// Change Method Body (inlined) ------------------------------------------------
//
// This should affect the method itself, but not the impl.
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//-----------------------------------------------------------------------------
//--------------------------
@@ -83,16 +82,16 @@ pub fn method_body_inlined() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
#[inline]
pub fn method_body_inlined() {
println!("Hello, world!");
@@ -101,7 +100,7 @@ pub fn method_body_inlined() {
// Change Method Privacy -------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//--------------------------
//--------------------------
@@ -110,21 +109,21 @@ impl Foo {
pub fn method_privacy() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
fn method_privacy() { }
}
// Change Method Selfness -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//------------
//---------------
@@ -139,27 +138,27 @@ impl Foo {
pub fn method_selfness() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="opt_hir_owner_nodes,fn_sig,generics_of,typeck_root,associated_item,optimized_mir",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="opt_hir_owner_nodes,fn_sig,generics_of,typeck_root,associated_item,optimized_mir",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn method_selfness(&self) { }
}
// Change Method Selfmutness ---------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//------------------------------------------------------------------------------------
//--------------------------
@@ -168,48 +167,48 @@ impl Foo {
pub fn method_selfmutness(& self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn method_selfmutness(&mut self) { }
}
// Add Method To Impl ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
pub fn add_method_to_impl1(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,associated_item_def_ids")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn add_method_to_impl1(&self) { }
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass6")]
pub fn add_method_to_impl2(&self) { }
}
// Add Method Parameter --------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//------------------------------------------------------------------------------------
//--------------------------
@@ -218,23 +217,23 @@ impl Foo {
pub fn add_method_parameter(&self ) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_method_parameter(&self, _: i32) { }
}
// Change Method Parameter Name ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//----------------------------------------------------------------------
//--------------------------
@@ -243,23 +242,23 @@ impl Foo {
pub fn change_method_parameter_name(&self, a: i64) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_method_parameter_name(&self, b: i64) { }
}
// Change Method Return Type ---------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//------------------------------------------------------------------------------------
//--------------------------
@@ -268,23 +267,23 @@ impl Foo {
pub fn change_method_return_type(&self) -> u16 { 0 }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_method_return_type(&self) -> u32 { 0 }
}
// Make Method #[inline] -------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//--------------------------
//--------------------------
@@ -294,16 +293,16 @@ impl Foo {
pub fn make_method_inline(&self) -> u8 { 0 }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[inline]
pub fn make_method_inline(&self) -> u8 { 0 }
}
@@ -311,7 +310,7 @@ pub fn make_method_inline(&self) -> u8 { 0 }
// Change order of parameters -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//----------------------------------------------------------------------
//--------------------------
@@ -320,23 +319,23 @@ impl Foo {
pub fn change_method_parameter_order(&self, a: i64, b: i64) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_method_parameter_order(&self, b: i64, a: i64) { }
}
// Make method unsafe ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//----------------------------------------------------------------------
//--------------------------
@@ -345,23 +344,23 @@ impl Foo {
pub fn make_method_unsafe(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub unsafe fn make_method_unsafe(&self) { }
}
// Make method extern ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//----------------------------------------------------------------------
//--------------------------
@@ -370,23 +369,23 @@ impl Foo {
pub fn make_method_extern(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub extern "C" fn make_method_extern(&self) { }
}
// Change method calling convention --------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//----------------------------------------------------------------------
//--------------------------
@@ -395,23 +394,23 @@ impl Foo {
pub extern "C" fn change_method_calling_convention(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub extern "system" fn change_method_calling_convention(&self) { }
}
// Add Lifetime Parameter to Method --------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
// -----------------------------------------------------
// ---------------------------------------------------------
@@ -429,11 +428,11 @@ impl Foo {
pub fn add_lifetime_parameter_to_method (&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
// Warning: Note that `typeck_root` are coming up clean here.
// The addition or removal of lifetime parameters that don't
@@ -444,17 +443,17 @@ impl Foo {
// if we lower generics before the body, then the `HirId` for
// things in the body will be affected. So if you start to see
// `typeck_root` appear dirty, that might be the cause. -nmatsakis
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,fn_sig")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,fn_sig,generics_of")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,fn_sig")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,fn_sig,generics_of")]
#[rustc_clean(cfg="bpass6")]
pub fn add_lifetime_parameter_to_method<'a>(&self) { }
}
// Add Type Parameter To Method ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
// -----------------------------------------------------
// ---------------------------------------------------------------
@@ -478,11 +477,11 @@ impl Foo {
pub fn add_type_parameter_to_method (&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
// Warning: Note that `typeck_root` are coming up clean here.
// The addition or removal of type parameters that don't appear in
@@ -494,22 +493,22 @@ impl Foo {
// body will be affected. So if you start to see `typeck_root`
// appear dirty, that might be the cause. -nmatsakis
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="opt_hir_owner_nodes,generics_of,predicates_of,type_of",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="opt_hir_owner_nodes,generics_of,predicates_of,type_of",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn add_type_parameter_to_method<T>(&self) { }
}
// Add Lifetime Bound to Lifetime Parameter of Method --------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//------------
//---------------
@@ -524,29 +523,29 @@ impl Foo {
pub fn add_lifetime_bound_to_lifetime_param_of_method<'a, 'b >(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="opt_hir_owner_nodes,generics_of,predicates_of,type_of,fn_sig"
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="opt_hir_owner_nodes,generics_of,predicates_of,type_of,fn_sig"
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn add_lifetime_bound_to_lifetime_param_of_method<'a, 'b: 'a>(&self) { }
}
// Add Lifetime Bound to Type Parameter of Method ------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
// -----------------------------------------------------
// ----------------------------------------------------------
@@ -570,11 +569,11 @@ impl Foo {
pub fn add_lifetime_bound_to_type_param_of_method<'a, T >(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
// Warning: Note that `typeck_root` are coming up clean here.
// The addition or removal of bounds that don't appear in the
@@ -586,22 +585,22 @@ impl Foo {
// body will be affected. So if you start to see `typeck_root`
// appear dirty, that might be the cause. -nmatsakis
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="opt_hir_owner_nodes,generics_of,predicates_of,type_of,fn_sig"
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="opt_hir_owner_nodes,generics_of,predicates_of,type_of,fn_sig"
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn add_lifetime_bound_to_type_param_of_method<'a, T: 'a>(&self) { }
}
// Add Trait Bound to Type Parameter of Method ------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
// -----------------------------------------------------
// ----------------------------------------------------------
@@ -619,11 +618,11 @@ impl Foo {
pub fn add_trait_bound_to_type_param_of_method<T >(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
// Warning: Note that `typeck_root` are coming up clean here.
// The addition or removal of bounds that don't appear in the
@@ -634,17 +633,17 @@ impl Foo {
// generics before the body, then the `HirId` for things in the
// body will be affected. So if you start to see `typeck_root`
// appear dirty, that might be the cause. -nmatsakis
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
pub fn add_trait_bound_to_type_param_of_method<T: Clone>(&self) { }
}
// Add #[no_mangle] to Method --------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Foo {
//--------------------------
//--------------------------
@@ -654,16 +653,16 @@ impl Foo {
pub fn add_no_mangle_to_method(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl Foo {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[unsafe(no_mangle)]
pub fn add_no_mangle_to_method(&self) { }
}
@@ -673,90 +672,90 @@ pub fn add_no_mangle_to_method(&self) { }
struct Bar<T>(T);
// Add Type Parameter To Impl --------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Bar<u32> {
pub fn add_type_parameter_to_impl(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,generics_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,generics_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,generics_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,generics_of")]
#[rustc_clean(cfg="bpass6")]
impl<T> Bar<T> {
#[rustc_clean(
cfg="bfail2",
cfg="bpass2",
except="generics_of,fn_sig,typeck_root,type_of,optimized_mir"
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
cfg="bfail5",
cfg="bpass5",
except="generics_of,fn_sig,typeck_root,type_of,optimized_mir"
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
pub fn add_type_parameter_to_impl(&self) { }
}
// Change Self Type of Impl ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl Bar<u32> {
pub fn change_impl_self_type(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
impl Bar<u64> {
#[rustc_clean(cfg="bfail2", except="fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="fn_sig,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_impl_self_type(&self) { }
}
// Add Lifetime Bound to Impl --------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl<T> Bar<T> {
pub fn add_lifetime_bound_to_impl_parameter(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
impl<T: 'static> Bar<T> {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn add_lifetime_bound_to_impl_parameter(&self) { }
}
// Add Trait Bound to Impl Parameter -------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl<T> Bar<T> {
pub fn add_trait_bound_to_impl_parameter(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
impl<T: Clone> Bar<T> {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn add_trait_bound_to_impl_parameter(&self) { }
}
@@ -765,12 +764,12 @@ pub fn add_trait_bound_to_impl_parameter(&self) { }
pub fn instantiation_root() {
Foo::method_privacy();
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
{
Bar(0u32).change_impl_self_type();
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
{
Bar(0u64).change_impl_self_type();
}
+41 -41
View File
@@ -5,14 +5,14 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ needs-asm-support
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -21,7 +21,7 @@
use std::arch::asm;
// Change template
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_template(_a: i32) -> i32 {
let c: i32;
@@ -33,11 +33,11 @@ pub fn change_template(_a: i32) -> i32 {
c
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_template(_a: i32) -> i32 {
let c: i32;
@@ -52,7 +52,7 @@ pub fn change_template(_a: i32) -> i32 {
// Change output
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_output(a: i32) -> i32 {
let mut _out1: i32 = 0;
@@ -66,11 +66,11 @@ pub fn change_output(a: i32) -> i32 {
_out1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_output(a: i32) -> i32 {
let mut _out1: i32 = 0;
@@ -87,7 +87,7 @@ pub fn change_output(a: i32) -> i32 {
// Change input
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_input(_a: i32, _b: i32) -> i32 {
let _out;
@@ -100,11 +100,11 @@ pub fn change_input(_a: i32, _b: i32) -> i32 {
_out
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_input(_a: i32, _b: i32) -> i32 {
let _out;
@@ -120,7 +120,7 @@ pub fn change_input(_a: i32, _b: i32) -> i32 {
// Change input constraint
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_input_constraint(_a: i32, _b: i32) -> i32 {
let _out;
@@ -133,11 +133,11 @@ pub fn change_input_constraint(_a: i32, _b: i32) -> i32 {
_out
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_input_constraint(_a: i32, _b: i32) -> i32 {
let _out;
@@ -152,7 +152,7 @@ pub fn change_input_constraint(_a: i32, _b: i32) -> i32 {
// Change clobber
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_clobber(_a: i32) -> i32 {
let _out;
@@ -166,11 +166,11 @@ pub fn change_clobber(_a: i32) -> i32 {
_out
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_clobber(_a: i32) -> i32 {
let _out;
@@ -187,7 +187,7 @@ pub fn change_clobber(_a: i32) -> i32 {
// Change options
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_options(_a: i32) -> i32 {
let _out;
@@ -201,11 +201,11 @@ pub fn change_options(_a: i32) -> i32 {
_out
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
pub fn change_options(_a: i32) -> i32 {
let _out;
+77 -77
View File
@@ -5,29 +5,29 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
#![crate_type="rlib"]
// Change Name -----------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_name() {
let _x = 2u64;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_name() {
let _y = 2u64;
}
@@ -35,16 +35,16 @@ pub fn change_name() {
// Add Type --------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_type() {
let _x = 2u32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_type() {
let _x: u32 = 2u32;
}
@@ -52,16 +52,16 @@ pub fn add_type() {
// Change Type -----------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_type() {
let _x: u64 = 2;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_type() {
let _x: u8 = 2;
}
@@ -69,16 +69,16 @@ pub fn change_type() {
// Change Mutability of Reference Type -----------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_mutability_of_reference_type() {
let _x: & u64;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_mutability_of_reference_type() {
let _x: &mut u64;
}
@@ -86,16 +86,16 @@ pub fn change_mutability_of_reference_type() {
// Change Mutability of Slot ---------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_mutability_of_slot() {
let mut _x: u64 = 0;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_mutability_of_slot() {
let _x: u64 = 0;
}
@@ -103,16 +103,16 @@ pub fn change_mutability_of_slot() {
// Change Simple Binding to Pattern --------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_simple_binding_to_pattern() {
let _x = (0u8, 'x');
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_simple_binding_to_pattern() {
let (_a, _b) = (0u8, 'x');
}
@@ -120,16 +120,16 @@ pub fn change_simple_binding_to_pattern() {
// Change Name in Pattern ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_name_in_pattern() {
let (_a, _b) = (1u8, 'y');
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_name_in_pattern() {
let (_a, _c) = (1u8, 'y');
}
@@ -137,16 +137,16 @@ pub fn change_name_in_pattern() {
// Add `ref` in Pattern --------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_ref_in_pattern() {
let ( _a, _b) = (1u8, 'y');
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_ref_in_pattern() {
let (ref _a, _b) = (1u8, 'y');
}
@@ -154,16 +154,16 @@ pub fn add_ref_in_pattern() {
// Add `&` in Pattern ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_amp_in_pattern() {
let ( _a, _b) = (&1u8, 'y');
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_amp_in_pattern() {
let (&_a, _b) = (&1u8, 'y');
}
@@ -171,16 +171,16 @@ pub fn add_amp_in_pattern() {
// Change Mutability of Binding in Pattern -------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_mutability_of_binding_in_pattern() {
let ( _a, _b) = (99u8, 'q');
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_mutability_of_binding_in_pattern() {
let (mut _a, _b) = (99u8, 'q');
}
@@ -188,16 +188,16 @@ pub fn change_mutability_of_binding_in_pattern() {
// Add Initializer -------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_initializer() {
let _x: i16 ;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_initializer() {
let _x: i16 = 3i16;
}
@@ -205,16 +205,16 @@ pub fn add_initializer() {
// Change Initializer ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_initializer() {
let _x = 4u16;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_initializer() {
let _x = 5u16;
}
+53 -53
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,7 +19,7 @@
// Change loop body
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_loop_body() {
let mut _x = 0;
loop {
@@ -28,11 +28,11 @@ pub fn change_loop_body() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_loop_body() {
let mut _x = 0;
loop {
@@ -44,7 +44,7 @@ pub fn change_loop_body() {
// Add break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_break() {
let mut _x = 0;
loop {
@@ -53,11 +53,11 @@ pub fn add_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_break() {
let mut _x = 0;
loop {
@@ -69,7 +69,7 @@ pub fn add_break() {
// Add loop label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label() {
let mut _x = 0;
/*---*/ loop {
@@ -78,11 +78,11 @@ pub fn add_loop_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label() {
let mut _x = 0;
'label: loop {
@@ -94,7 +94,7 @@ pub fn add_loop_label() {
// Add loop label to break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: loop {
@@ -103,11 +103,11 @@ pub fn add_loop_label_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: loop {
@@ -119,7 +119,7 @@ pub fn add_loop_label_to_break() {
// Change break label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_break_label() {
let mut _x = 0;
'outer: loop {
@@ -130,11 +130,11 @@ pub fn change_break_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_break_label() {
let mut _x = 0;
'outer: loop {
@@ -148,7 +148,7 @@ pub fn change_break_label() {
// Add loop label to continue
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: loop {
@@ -157,11 +157,11 @@ pub fn add_loop_label_to_continue() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: loop {
@@ -173,7 +173,7 @@ pub fn add_loop_label_to_continue() {
// Change continue label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_label() {
let mut _x = 0;
'outer: loop {
@@ -184,11 +184,11 @@ pub fn change_continue_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_label() {
let mut _x = 0;
'outer: loop {
@@ -202,7 +202,7 @@ pub fn change_continue_label() {
// Change continue to break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_to_break() {
let mut _x = 0;
loop {
@@ -211,11 +211,11 @@ pub fn change_continue_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, typeck_root, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, typeck_root, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, typeck_root, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, typeck_root, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_to_break() {
let mut _x = 0;
loop {
+84 -84
View File
@@ -5,20 +5,20 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
#![crate_type="rlib"]
// Add Arm ---------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_arm(x: u32) -> u32 {
match x {
0 => 0,
@@ -28,11 +28,11 @@ pub fn add_arm(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_arm(x: u32) -> u32 {
match x {
0 => 0,
@@ -45,7 +45,7 @@ pub fn add_arm(x: u32) -> u32 {
// Change Order Of Arms --------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_order_of_arms(x: u32) -> u32 {
match x {
0 => 0,
@@ -54,11 +54,11 @@ pub fn change_order_of_arms(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_order_of_arms(x: u32) -> u32 {
match x {
1 => 1,
@@ -70,7 +70,7 @@ pub fn change_order_of_arms(x: u32) -> u32 {
// Add Guard Clause ------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_guard_clause(x: u32, y: bool) -> u32 {
match x {
0 => 0,
@@ -79,11 +79,11 @@ pub fn add_guard_clause(x: u32, y: bool) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_guard_clause(x: u32, y: bool) -> u32 {
match x {
0 => 0,
@@ -95,7 +95,7 @@ pub fn add_guard_clause(x: u32, y: bool) -> u32 {
// Change Guard Clause ------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_guard_clause(x: u32, y: bool) -> u32 {
match x {
0 => 0,
@@ -104,11 +104,11 @@ pub fn change_guard_clause(x: u32, y: bool) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_guard_clause(x: u32, y: bool) -> u32 {
match x {
0 => 0,
@@ -120,7 +120,7 @@ pub fn change_guard_clause(x: u32, y: bool) -> u32 {
// Add @-Binding ---------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_at_binding(x: u32) -> u32 {
match x {
0 => 0,
@@ -129,11 +129,11 @@ pub fn add_at_binding(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_at_binding(x: u32) -> u32 {
match x {
0 => 0,
@@ -145,7 +145,7 @@ pub fn add_at_binding(x: u32) -> u32 {
// Change Name of @-Binding ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_name_of_at_binding(x: u32) -> u32 {
match x {
0 => 0,
@@ -154,11 +154,11 @@ pub fn change_name_of_at_binding(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_name_of_at_binding(x: u32) -> u32 {
match x {
0 => 0,
@@ -170,7 +170,7 @@ pub fn change_name_of_at_binding(x: u32) -> u32 {
// Change Simple Binding To Pattern --------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_simple_name_to_pattern(x: u32) -> u32 {
match (x, x & 1) {
(0, 0) => 0,
@@ -178,11 +178,11 @@ pub fn change_simple_name_to_pattern(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_simple_name_to_pattern(x: u32) -> u32 {
match (x, x & 1) {
(0, 0) => 0,
@@ -193,7 +193,7 @@ pub fn change_simple_name_to_pattern(x: u32) -> u32 {
// Change Name In Pattern ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_name_in_pattern(x: u32) -> u32 {
match (x, x & 1) {
(a, 0) => 0,
@@ -202,11 +202,11 @@ pub fn change_name_in_pattern(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_name_in_pattern(x: u32) -> u32 {
match (x, x & 1) {
(b, 0) => 0,
@@ -218,7 +218,7 @@ pub fn change_name_in_pattern(x: u32) -> u32 {
// Change Mutability Of Binding In Pattern -------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_mutability_of_binding_in_pattern(x: u32) -> u32 {
match (x, x & 1) {
( a, 0) => 0,
@@ -226,12 +226,12 @@ pub fn change_mutability_of_binding_in_pattern(x: u32) -> u32 {
}
}
// Ignore optimized_mir in bfail2, the only change to optimized MIR is a span.
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
// Ignore optimized_mir in bpass2, the only change to optimized MIR is a span.
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_mutability_of_binding_in_pattern(x: u32) -> u32 {
match (x, x & 1) {
(mut a, 0) => 0,
@@ -242,7 +242,7 @@ pub fn change_mutability_of_binding_in_pattern(x: u32) -> u32 {
// Add `ref` To Binding In Pattern -------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_ref_to_binding_in_pattern(x: u32) -> u32 {
match (x, x & 1) {
( a, 0) => 0,
@@ -250,11 +250,11 @@ pub fn add_ref_to_binding_in_pattern(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_ref_to_binding_in_pattern(x: u32) -> u32 {
match (x, x & 1) {
(ref a, 0) => 0,
@@ -265,7 +265,7 @@ pub fn add_ref_to_binding_in_pattern(x: u32) -> u32 {
// Add `&` To Binding In Pattern -------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_amp_to_binding_in_pattern(x: u32) -> u32 {
match (&x, x & 1) {
( a, 0) => 0,
@@ -273,11 +273,11 @@ pub fn add_amp_to_binding_in_pattern(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_amp_to_binding_in_pattern(x: u32) -> u32 {
match (&x, x & 1) {
(&a, 0) => 0,
@@ -288,7 +288,7 @@ pub fn add_amp_to_binding_in_pattern(x: u32) -> u32 {
// Change RHS Of Arm -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_rhs_of_arm(x: u32) -> u32 {
match x {
0 => 0,
@@ -297,11 +297,11 @@ pub fn change_rhs_of_arm(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_rhs_of_arm(x: u32) -> u32 {
match x {
0 => 0,
@@ -313,7 +313,7 @@ pub fn change_rhs_of_arm(x: u32) -> u32 {
// Add Alternative To Arm ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_alternative_to_arm(x: u32) -> u32 {
match x {
0 => 0,
@@ -322,11 +322,11 @@ pub fn add_alternative_to_arm(x: u32) -> u32 {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_alternative_to_arm(x: u32) -> u32 {
match x {
0 | 7 => 0,
+38 -38
View File
@@ -8,10 +8,10 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph -C debug-assertions -O
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,14 +19,14 @@
// Indexing expression
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn indexing(slice: &[u8]) -> u8 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
slice[100]
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
slice[100]
}
@@ -34,14 +34,14 @@ pub fn indexing(slice: &[u8]) -> u8 {
// Arithmetic overflow plus
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn arithmetic_overflow_plus(val: i32) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
val + 1
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
val + 1
}
@@ -49,14 +49,14 @@ pub fn arithmetic_overflow_plus(val: i32) -> i32 {
// Arithmetic overflow minus
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn arithmetic_overflow_minus(val: i32) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
val - 1
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
val - 1
}
@@ -64,14 +64,14 @@ pub fn arithmetic_overflow_minus(val: i32) -> i32 {
// Arithmetic overflow mult
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn arithmetic_overflow_mult(val: i32) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
val * 2
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
val * 2
}
@@ -79,14 +79,14 @@ pub fn arithmetic_overflow_mult(val: i32) -> i32 {
// Arithmetic overflow negation
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn arithmetic_overflow_negation(val: i32) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
-val
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
-val
}
@@ -94,28 +94,28 @@ pub fn arithmetic_overflow_negation(val: i32) -> i32 {
// Division by zero
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn division_by_zero(val: i32) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
2 / val
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
2 / val
}
}
// Division by zero
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn mod_by_zero(val: i32) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
2 % val
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
2 % val
}
@@ -123,14 +123,14 @@ pub fn mod_by_zero(val: i32) -> i32 {
// shift left
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn shift_left(val: i32, shift: usize) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
val << shift
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
val << shift
}
@@ -138,14 +138,14 @@ pub fn shift_left(val: i32, shift: usize) -> i32 {
// shift right
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
pub fn shift_right(val: i32, shift: usize) -> i32 {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
val >> shift
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
{
val >> shift
}
+81 -81
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -21,140 +21,140 @@
// Change static visibility
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_VISIBILITY: u8 = 0;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub static STATIC_VISIBILITY: u8 = 0;
// Change static mutability
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_MUTABILITY: u8 = 0;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
static mut STATIC_MUTABILITY: u8 = 0;
// Add linkage attribute
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_LINKAGE: u8 = 0;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[linkage="weak_odr"]
static STATIC_LINKAGE: u8 = 0;
// Add no_mangle attribute
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_NO_MANGLE: u8 = 0;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[unsafe(no_mangle)]
static STATIC_NO_MANGLE: u8 = 0;
// Add thread_local attribute
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_THREAD_LOCAL: u8 = 0;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[thread_local]
static STATIC_THREAD_LOCAL: u8 = 0;
// Change type from i16 to u64
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_CHANGE_TYPE_1: i16 = 0;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_TYPE_1: u64 = 0;
// Change type from Option<i8> to Option<u16>
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
static STATIC_CHANGE_TYPE_2: Option<i8> = None;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_TYPE_2: Option<u16> = None;
// Change value between simple literals
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_VALUE_1: i16 = {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
{ 1 }
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
{ 2 }
};
// Change value between expressions
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_VALUE_2: i16 = {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
{ 1 + 1 }
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
{ 1 + 2 }
};
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_VALUE_3: i16 = {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
{ 2 + 3 }
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
{ 2 * 3 }
};
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_VALUE_4: i16 = {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
{ 1 + 2 * 3 }
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
{ 1 + 2 * 4 }
};
@@ -164,21 +164,21 @@
struct ReferencedType2;
mod static_change_type_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as Type;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as Type;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_TYPE_INDIRECTLY_1: Type = Type;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
static STATIC_CHANGE_TYPE_INDIRECTLY_2: Option<Type> = None;
}
+59 -59
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -25,7 +25,7 @@ pub struct RegularStruct {
}
// Change field value (regular struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_value_regular_struct() -> RegularStruct {
RegularStruct {
x: 0,
@@ -34,11 +34,11 @@ pub fn change_field_value_regular_struct() -> RegularStruct {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_field_value_regular_struct() -> RegularStruct {
RegularStruct {
x: 0,
@@ -50,7 +50,7 @@ pub fn change_field_value_regular_struct() -> RegularStruct {
// Change field order (regular struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_order_regular_struct() -> RegularStruct {
RegularStruct {
x: 3,
@@ -59,11 +59,11 @@ pub fn change_field_order_regular_struct() -> RegularStruct {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_field_order_regular_struct() -> RegularStruct {
RegularStruct {
y: 4,
@@ -75,7 +75,7 @@ pub fn change_field_order_regular_struct() -> RegularStruct {
// Add field (regular struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_field_regular_struct() -> RegularStruct {
let struct1 = RegularStruct {
x: 3,
@@ -90,11 +90,11 @@ pub fn add_field_regular_struct() -> RegularStruct {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_field_regular_struct() -> RegularStruct {
let struct1 = RegularStruct {
x: 3,
@@ -112,7 +112,7 @@ pub fn add_field_regular_struct() -> RegularStruct {
// Change field label (regular struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_label_regular_struct() -> RegularStruct {
let struct1 = RegularStruct {
x: 3,
@@ -127,11 +127,11 @@ pub fn change_field_label_regular_struct() -> RegularStruct {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_field_label_regular_struct() -> RegularStruct {
let struct1 = RegularStruct {
x: 3,
@@ -155,7 +155,7 @@ pub struct RegularStruct2 {
}
// Change constructor path (regular struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_path_regular_struct() {
let _ = RegularStruct {
x: 0,
@@ -164,11 +164,11 @@ pub fn change_constructor_path_regular_struct() {
};
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_path_regular_struct() {
let _ = RegularStruct2 {
x: 0,
@@ -181,15 +181,15 @@ pub fn change_constructor_path_regular_struct() {
// Change constructor path indirectly (regular struct)
pub mod change_constructor_path_indirectly_regular_struct {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::RegularStruct as Struct;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::RegularStruct2 as Struct;
#[rustc_clean(cfg="bfail2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn function() -> Struct {
Struct {
x: 0,
@@ -204,16 +204,16 @@ pub fn function() -> Struct {
pub struct TupleStruct(i32, i64, i16);
// Change field value (tuple struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_field_value_tuple_struct() -> TupleStruct {
TupleStruct(0, 1, 2)
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_field_value_tuple_struct() -> TupleStruct {
TupleStruct(0, 1, 3)
}
@@ -223,16 +223,16 @@ pub fn change_field_value_tuple_struct() -> TupleStruct {
pub struct TupleStruct2(u16, u16, u16);
// Change constructor path (tuple struct)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_constructor_path_tuple_struct() {
let _ = TupleStruct (0, 1, 2);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn change_constructor_path_tuple_struct() {
let _ = TupleStruct2(0, 1, 2);
}
@@ -241,15 +241,15 @@ pub fn change_constructor_path_tuple_struct() {
// Change constructor path indirectly (tuple struct)
pub mod change_constructor_path_indirectly_tuple_struct {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::TupleStruct as Struct;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::TupleStruct2 as Struct;
#[rustc_clean(cfg="bfail5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bfail2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass5", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass6")]
#[rustc_clean(cfg="bpass2", except="fn_sig,opt_hir_owner_nodes,optimized_mir,typeck_root")]
#[rustc_clean(cfg="bpass3")]
pub fn function() -> Struct {
Struct(0, 1, 2)
}
+129 -129
View File
@@ -10,52 +10,52 @@
// results in a change of the ICH for the struct's metadata, and that it stays
// the same between rev2 and rev3.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
#![crate_type="rlib"]
// Layout ----------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub struct LayoutPacked;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="type_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="type_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="type_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="type_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[repr(packed)]
pub struct LayoutPacked;
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct LayoutC;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="type_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="type_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="type_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="type_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[repr(C)]
struct LayoutC;
// Tuple Struct Change Field Type ----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct TupleStructFieldType(i32);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
// Note that changing the type of a field does not change the type of the struct or enum, but
// adding/removing fields or changing a fields name or visibility does.
struct TupleStructFieldType(
@@ -65,14 +65,14 @@ struct TupleStructFieldType(
// Tuple Struct Add Field ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct TupleStructAddField(i32);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct TupleStructAddField(
i32,
u32
@@ -81,27 +81,27 @@ struct TupleStructAddField(
// Tuple Struct Field Visibility -----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct TupleStructFieldVisibility( char);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
struct TupleStructFieldVisibility(pub char);
// Record Struct Field Type ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct RecordStructFieldType { x: f32 }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
// Note that changing the type of a field does not change the type of the struct or enum, but
// adding/removing fields or changing a fields name or visibility does.
struct RecordStructFieldType {
@@ -111,27 +111,27 @@ struct RecordStructFieldType {
// Record Struct Field Name ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct RecordStructFieldName { x: f32 }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct RecordStructFieldName { y: f32 }
// Record Struct Add Field -----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct RecordStructAddField { x: f32 }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct RecordStructAddField {
x: f32,
y: () }
@@ -139,53 +139,53 @@ struct RecordStructAddField {
// Record Struct Field Visibility ----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct RecordStructFieldVisibility { x: f32 }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="type_of")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="type_of")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,type_of")]
#[rustc_clean(cfg="bpass6")]
struct RecordStructFieldVisibility { pub x: f32 }
// Add Lifetime Parameter ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct AddLifetimeParameter<'a>(&'a f32, &'a f64);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct AddLifetimeParameter<'a, 'b>(&'a f32, &'b f64);
// Add Lifetime Parameter Bound ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct AddLifetimeParameterBound<'a, 'b>(&'a f32, &'b f64);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct AddLifetimeParameterBound<'a, 'b: 'a>(
&'a f32,
&'b f64
);
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct AddLifetimeParameterBoundWhereClause<'a, 'b>(&'a f32, &'b f64);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct AddLifetimeParameterBoundWhereClause<'a, 'b>(
&'a f32,
&'b f64)
@@ -194,14 +194,14 @@ struct AddLifetimeParameterBoundWhereClause<'a, 'b>(
// Add Type Parameter ----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct AddTypeParameter<T1>(T1, T1);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of,generics_of,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct AddTypeParameter<T1, T2>(
// The field contains the parent's Generics, so it's dirty even though its
// type hasn't changed.
@@ -212,27 +212,27 @@ struct AddTypeParameter<T1, T2>(
// Add Type Parameter Bound ----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct AddTypeParameterBound<T>(T);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct AddTypeParameterBound<T: Send>(
T
);
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct AddTypeParameterBoundWhereClause<T>(T);
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct AddTypeParameterBoundWhereClause<T>(
T
) where T: Sync;
@@ -243,23 +243,23 @@ struct AddTypeParameterBoundWhereClause<T>(
// fingerprint is stable (i.e., that there are no random influences like memory
// addresses taken into account by the hashing algorithm).
// Note: there is no #[cfg(...)], so this is ALWAYS compiled
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub struct EmptyStruct;
// Visibility ------------------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
struct Visibility;
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub struct Visibility;
struct ReferencedType1;
@@ -267,15 +267,15 @@ struct AddTypeParameterBoundWhereClause<T>(
// Tuple Struct Change Field Type Indirectly -----------------------------------
mod tuple_struct_change_field_type_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as FieldType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as FieldType;
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct TupleStruct(
FieldType
);
@@ -284,15 +284,15 @@ struct TupleStruct(
// Record Struct Change Field Type Indirectly -----------------------------------
mod record_struct_change_field_type_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedType1 as FieldType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedType2 as FieldType;
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct RecordStruct {
_x: FieldType
}
@@ -306,28 +306,28 @@ trait ReferencedTrait2 {}
// Change Trait Bound Indirectly -----------------------------------------------
mod change_trait_bound_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait1 as Trait;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct Struct<T: Trait>(T);
}
// Change Trait Bound Indirectly In Where Clause -------------------------------
mod change_trait_bound_indirectly_in_where_clause {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait1 as Trait;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
struct Struct<T>(T) where T : Trait;
}
+561 -561
View File
@@ -10,13 +10,13 @@
// results in a change of the ICH for the trait's metadata, and that it stays
// the same between rev2 and rev3.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -25,41 +25,41 @@
// Change trait visibility
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitVisibility { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,predicates_of")]
#[rustc_clean(cfg="bpass6")]
pub trait TraitVisibility { }
// Change trait unsafety
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitUnsafety { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
unsafe trait TraitUnsafety { }
// Add method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddMethod {
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub trait TraitAddMethod {
fn method();
}
@@ -67,16 +67,16 @@ pub trait TraitAddMethod {
// Change name of method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeMethodName {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeMethodName {
fn methodChanged();
}
@@ -84,7 +84,7 @@ trait TraitChangeMethodName {
// Add return type to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddReturnType {
//---------------------------------------------------------------
//--------------------------
@@ -93,23 +93,23 @@ trait TraitAddReturnType {
fn method() ;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddReturnType {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method() -> u32;
}
// Change return type of method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeReturnType {
// --------------------------------------------------------------
// -------------------------
@@ -118,23 +118,23 @@ trait TraitChangeReturnType {
fn method() -> u32;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeReturnType {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method() -> u64;
}
// Add parameter to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddParameterToMethod {
// --------------------------------------------------------------
// -------------------------
@@ -143,23 +143,23 @@ trait TraitAddParameterToMethod {
fn method( );
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddParameterToMethod {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(a: u32);
}
// Change name of method parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeMethodParameterName {
//------------------------------------------------------
//--------------------------------------------------------
@@ -175,30 +175,30 @@ trait TraitChangeMethodParameterName {
fn with_default(x: i32) {}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeMethodParameterName {
// FIXME(#38501) This should preferably always be clean.
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(b: u32);
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn with_default(y: i32) {}
}
// Change type of method parameter (i32 => i64)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeMethodParameterType {
// --------------------------------------------------------------
// -------------------------
@@ -207,23 +207,23 @@ trait TraitChangeMethodParameterType {
fn method(a: i32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeMethodParameterType {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(a: i64);
}
// Change type of method parameter (&i32 => &mut i32)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeMethodParameterTypeRef {
// --------------------------------------------------------------
// -------------------------
@@ -232,23 +232,23 @@ trait TraitChangeMethodParameterTypeRef {
fn method(a: & i32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeMethodParameterTypeRef {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(a: &mut i32);
}
// Change order of method parameters
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeMethodParametersOrder {
// --------------------------------------------------------------
// -------------------------
@@ -257,23 +257,23 @@ trait TraitChangeMethodParametersOrder {
fn method(a: i32, b: i64);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeMethodParametersOrder {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(b: i64, a: i32);
}
// Add default implementation to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddMethodAutoImplementation {
// -------------------------------------------------------
// -------------------------
@@ -282,33 +282,33 @@ trait TraitAddMethodAutoImplementation {
fn method() ;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddMethodAutoImplementation {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method() {}
}
// Change order of methods
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeOrderOfMethods {
fn method0();
fn method1();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeOrderOfMethods {
fn method1();
fn method0();
@@ -317,7 +317,7 @@ trait TraitChangeOrderOfMethods {
// Change mode of self parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeModeSelfRefToMut {
// --------------------------------------------------------------
// -------------------------
@@ -326,22 +326,22 @@ trait TraitChangeModeSelfRefToMut {
fn method(& self);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeModeSelfRefToMut {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(&mut self);
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeModeSelfOwnToMut: Sized {
// ----------------------------------------------------------------------------
// -------------------------
@@ -350,22 +350,22 @@ trait TraitChangeModeSelfOwnToMut: Sized {
fn method( self) {}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeModeSelfOwnToMut: Sized {
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(mut self) {}
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeModeSelfOwnToRef {
// --------------------------------------------------------------------------
// -------------------------
@@ -374,23 +374,23 @@ trait TraitChangeModeSelfOwnToRef {
fn method( self);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeModeSelfOwnToRef {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(&self);
}
// Add unsafe modifier to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddUnsafeModifier {
// --------------------------------------------------------------
// -------------------------
@@ -399,23 +399,23 @@ trait TraitAddUnsafeModifier {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddUnsafeModifier {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
unsafe fn method();
}
// Add extern modifier to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddExternModifier {
// --------------------------------------------------------------
// -------------------------
@@ -424,23 +424,23 @@ trait TraitAddExternModifier {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddExternModifier {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
extern "C" fn method();
}
// Change extern "C" to extern "stdcall"
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeExternCToExternSystem {
// --------------------------------------------------------------
// -------------------------
@@ -449,23 +449,23 @@ trait TraitChangeExternCToExternSystem {
extern "C" fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeExternCToRustIntrinsic {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
extern "system" fn method();
}
// Add type parameter to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTypeParameterToMethod {
// --------------------------------------------------------------------------
// ---------------
@@ -476,25 +476,25 @@ trait TraitAddTypeParameterToMethod {
fn method ();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTypeParameterToMethod {
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of,type_of",
cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of,type_of",
cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T>();
}
// Add lifetime parameter to method
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeParameterToMethod {
// --------------------------------------------------------------------------
// -------------------------
@@ -503,16 +503,16 @@ trait TraitAddLifetimeParameterToMethod {
fn method ();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeParameterToMethod {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,generics_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<'a>();
}
@@ -523,7 +523,7 @@ trait ReferencedTrait0 { }
trait ReferencedTrait1 { }
// Add trait bound to method type parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTraitBoundToMethodTypeParameter {
// ---------------------------------------------------------------------
// -------------------------
@@ -532,23 +532,23 @@ trait TraitAddTraitBoundToMethodTypeParameter {
fn method<T >();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTraitBoundToMethodTypeParameter {
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T: ReferencedTrait0>();
}
// Add builtin bound to method type parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddBuiltinBoundToMethodTypeParameter {
// ---------------------------------------------------------------------
// -------------------------
@@ -557,23 +557,23 @@ trait TraitAddBuiltinBoundToMethodTypeParameter {
fn method<T >();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddBuiltinBoundToMethodTypeParameter {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T: Sized>();
}
// Add lifetime bound to method lifetime parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeBoundToMethodLifetimeParameter {
// -----------
// -----------------------------------------------------------------------
@@ -588,29 +588,29 @@ trait TraitAddLifetimeBoundToMethodLifetimeParameter {
fn method<'a, 'b >(a: &'a u32, b: &'b u32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeBoundToMethodLifetimeParameter {
#[rustc_clean(
except="opt_hir_owner_nodes,generics_of,predicates_of,fn_sig,type_of",
cfg="bfail2",
cfg="bpass2",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
except="opt_hir_owner_nodes,generics_of,predicates_of,fn_sig,type_of",
cfg="bfail5",
cfg="bpass5",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
fn method<'a, 'b: 'a>(a: &'a u32, b: &'b u32);
}
// Add second trait bound to method type parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondTraitBoundToMethodTypeParameter {
// ---------------------------------------------------------------------
// -------------------------
@@ -619,23 +619,23 @@ trait TraitAddSecondTraitBoundToMethodTypeParameter {
fn method<T: ReferencedTrait0 >();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondTraitBoundToMethodTypeParameter {
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T: ReferencedTrait0 + ReferencedTrait1>();
}
// Add second builtin bound to method type parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondBuiltinBoundToMethodTypeParameter {
// ---------------------------------------------------------------------
// -------------------------
@@ -644,23 +644,23 @@ trait TraitAddSecondBuiltinBoundToMethodTypeParameter {
fn method<T: Sized >();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondBuiltinBoundToMethodTypeParameter {
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T: Sized + Sync>();
}
// Add second lifetime bound to method lifetime parameter
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondLifetimeBoundToMethodLifetimeParameter {
// -----------
// -----------------------------------------------------------------------
@@ -675,29 +675,29 @@ trait TraitAddSecondLifetimeBoundToMethodLifetimeParameter {
fn method<'a, 'b, 'c: 'a >(a: &'a u32, b: &'b u32, c: &'c u32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondLifetimeBoundToMethodLifetimeParameter {
#[rustc_clean(
except="opt_hir_owner_nodes,generics_of,predicates_of,fn_sig,type_of",
cfg="bfail2",
cfg="bpass2",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
except="opt_hir_owner_nodes,generics_of,predicates_of,fn_sig,type_of",
cfg="bfail5",
cfg="bpass5",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
fn method<'a, 'b, 'c: 'a + 'b>(a: &'a u32, b: &'b u32, c: &'c u32);
}
// Add associated type
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddAssociatedType {
//--------------------------
//--------------------------
@@ -710,27 +710,27 @@ trait TraitAddAssociatedType {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddAssociatedType {
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass6")]
type Associated;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method();
}
// Add trait bound to associated type
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTraitBoundToAssociatedType {
// -------------------------------------------------------
// -------------------------
@@ -744,16 +744,16 @@ trait TraitAddTraitBoundToAssociatedType {
// Apparently the type bound contributes to the predicates of the trait, but
// does not change the associated item itself.
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTraitBoundToAssociatedType {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
type Associated: ReferencedTrait0;
fn method();
@@ -762,7 +762,7 @@ trait TraitAddTraitBoundToAssociatedType {
// Add lifetime bound to associated type
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeBoundToAssociatedType<'a> {
// -------------------------------------------------------
// -------------------------
@@ -773,16 +773,16 @@ trait TraitAddLifetimeBoundToAssociatedType<'a> {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeBoundToAssociatedType<'a> {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
type Associated: 'a;
fn method();
@@ -791,7 +791,7 @@ trait TraitAddLifetimeBoundToAssociatedType<'a> {
// Add default to associated type
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddDefaultToAssociatedType {
//--------------------------------------------------------
//--------------------------
@@ -802,16 +802,16 @@ trait TraitAddDefaultToAssociatedType {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddDefaultToAssociatedType {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
type Associated = ReferenceType0;
fn method();
@@ -820,16 +820,16 @@ trait TraitAddDefaultToAssociatedType {
// Add associated constant
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddAssociatedConstant {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddAssociatedConstant {
const Value: u32;
@@ -839,7 +839,7 @@ trait TraitAddAssociatedConstant {
// Add initializer to associated constant
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddInitializerToAssociatedConstant {
//--------------------------------------------------------
//--------------------------
@@ -854,29 +854,29 @@ trait TraitAddInitializerToAssociatedConstant {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddInitializerToAssociatedConstant {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
const Value: u32 = 1;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method();
}
// Change type of associated constant
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitChangeTypeOfAssociatedConstant {
// ---------------------------------------------------------------
// -------------------------
@@ -891,287 +891,287 @@ trait TraitChangeTypeOfAssociatedConstant {
fn method();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeTypeOfAssociatedConstant {
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,type_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
const Value: f64;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method();
}
// Add super trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSuperTrait { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSuperTrait : ReferencedTrait0 { }
// Add builtin bound (Send or Copy)
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddBuiltiBound { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddBuiltiBound : Send { }
// Add 'static lifetime bound to trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddStaticLifetimeBound { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddStaticLifetimeBound : 'static { }
// Add super trait as second bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTraitAsSecondBound : ReferencedTrait0 { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTraitAsSecondBound : ReferencedTrait0 + ReferencedTrait1 { }
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTraitAsSecondBoundFromBuiltin : Send { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTraitAsSecondBoundFromBuiltin : Send + ReferencedTrait0 { }
// Add builtin bound as second bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddBuiltinBoundAsSecondBound : ReferencedTrait0 { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddBuiltinBoundAsSecondBound : ReferencedTrait0 + Send { }
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddBuiltinBoundAsSecondBoundFromBuiltin : Send { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddBuiltinBoundAsSecondBoundFromBuiltin: Send + Copy { }
// Add 'static bounds as second bound
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddStaticBoundAsSecondBound : ReferencedTrait0 { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddStaticBoundAsSecondBound : ReferencedTrait0 + 'static { }
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddStaticBoundAsSecondBoundFromBuiltin : Send { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddStaticBoundAsSecondBoundFromBuiltin : Send + 'static { }
// Add type parameter to trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTypeParameterToTrait { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTypeParameterToTrait<T> { }
// Add lifetime parameter to trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeParameterToTrait { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeParameterToTrait<'a> { }
// Add trait bound to type parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTraitBoundToTypeParameterOfTrait<T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTraitBoundToTypeParameterOfTrait<T: ReferencedTrait0> { }
// Add lifetime bound to type parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeBoundToTypeParameterOfTrait<'a, T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeBoundToTypeParameterOfTrait<'a, T: 'a> { }
// Add lifetime bound to lifetime parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeBoundToLifetimeParameterOfTrait<'a, 'b> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeBoundToLifetimeParameterOfTrait<'a: 'b, 'b> { }
// Add builtin bound to type parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddBuiltinBoundToTypeParameterOfTrait<T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddBuiltinBoundToTypeParameterOfTrait<T: Send> { }
// Add second type parameter to trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondTypeParameterToTrait<T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondTypeParameterToTrait<T, S> { }
// Add second lifetime parameter to trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondLifetimeParameterToTrait<'a> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondLifetimeParameterToTrait<'a, 'b> { }
// Add second trait bound to type parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondTraitBoundToTypeParameterOfTrait<T: ReferencedTrait0> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondTraitBoundToTypeParameterOfTrait<T: ReferencedTrait0 + ReferencedTrait1> { }
// Add second lifetime bound to type parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondLifetimeBoundToTypeParameterOfTrait<'a, 'b, T: 'a> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondLifetimeBoundToTypeParameterOfTrait<'a, 'b, T: 'a + 'b> { }
// Add second lifetime bound to lifetime parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondLifetimeBoundToLifetimeParameterOfTrait<'a: 'b, 'b, 'c> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondLifetimeBoundToLifetimeParameterOfTrait<'a: 'b + 'c, 'b, 'c> { }
// Add second builtin bound to type parameter of trait
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondBuiltinBoundToTypeParameterOfTrait<T: Send> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondBuiltinBoundToTypeParameterOfTrait<T: Send + Sync> { }
@@ -1182,125 +1182,125 @@ struct ReferenceType1 {}
// Add trait bound to type parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddTraitBoundToTypeParameterOfTraitWhere<T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddTraitBoundToTypeParameterOfTraitWhere<T> where T: ReferencedTrait0 { }
// Add lifetime bound to type parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeBoundToTypeParameterOfTraitWhere<'a, T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeBoundToTypeParameterOfTraitWhere<'a, T> where T: 'a { }
// Add lifetime bound to lifetime parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddLifetimeBoundToLifetimeParameterOfTraitWhere<'a, 'b> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddLifetimeBoundToLifetimeParameterOfTraitWhere<'a, 'b> where 'a: 'b { }
// Add builtin bound to type parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddBuiltinBoundToTypeParameterOfTraitWhere<T> { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddBuiltinBoundToTypeParameterOfTraitWhere<T> where T: Send { }
// Add second trait bound to type parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondTraitBoundToTypeParameterOfTraitWhere<T> where T: ReferencedTrait0 { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondTraitBoundToTypeParameterOfTraitWhere<T>
where T: ReferencedTrait0 + ReferencedTrait1 { }
// Add second lifetime bound to type parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondLifetimeBoundToTypeParameterOfTraitWhere<'a, 'b, T> where T: 'a { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondLifetimeBoundToTypeParameterOfTraitWhere<'a, 'b, T> where T: 'a + 'b { }
// Add second lifetime bound to lifetime parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondLifetimeBoundToLifetimeParameterOfTraitWhere<'a, 'b, 'c> where 'a: 'b { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondLifetimeBoundToLifetimeParameterOfTraitWhere<'a, 'b, 'c> where 'a: 'b + 'c { }
// Add second builtin bound to type parameter of trait in where clause
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
trait TraitAddSecondBuiltinBoundToTypeParameterOfTraitWhere<T> where T: Send { }
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitAddSecondBuiltinBoundToTypeParameterOfTraitWhere<T> where T: Send + Sync { }
// Change return type of method indirectly by modifying a use statement
mod change_return_type_of_method_indirectly_use {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferenceType0 as ReturnType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferenceType1 as ReturnType;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeReturnType {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method() -> ReturnType;
}
}
@@ -1309,20 +1309,20 @@ trait TraitChangeReturnType {
// Change type of method parameter indirectly by modifying a use statement
mod change_method_parameter_type_indirectly_by_use {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferenceType0 as ArgType;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferenceType1 as ArgType;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeArgType {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method(a: ArgType);
}
}
@@ -1331,20 +1331,20 @@ trait TraitChangeArgType {
// Change trait bound of method type parameter indirectly by modifying a use statement
mod change_method_parameter_type_bound_indirectly_by_use {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait0 as Bound;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait1 as Bound;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeBoundOfMethodTypeParameter {
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T: Bound>(a: T);
}
}
@@ -1354,20 +1354,20 @@ trait TraitChangeBoundOfMethodTypeParameter {
// Change trait bound of method type parameter in where clause indirectly
// by modifying a use statement
mod change_method_parameter_type_bound_indirectly_by_use_where {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait0 as Bound;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait1 as Bound;
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeBoundOfMethodTypeParameterWhere {
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method<T>(a: T) where T: Bound;
}
}
@@ -1376,15 +1376,15 @@ trait TraitChangeBoundOfMethodTypeParameterWhere {
// Change trait bound of trait type parameter indirectly by modifying a use statement
mod change_method_type_parameter_bound_indirectly {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait0 as Bound;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait1 as Bound;
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeTraitBound<T: Bound> {
fn method(a: T);
}
@@ -1395,15 +1395,15 @@ trait TraitChangeTraitBound<T: Bound> {
// Change trait bound of trait type parameter in where clause indirectly
// by modifying a use statement
mod change_method_type_parameter_bound_indirectly_where {
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
use super::ReferencedTrait0 as Bound;
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
use super::ReferencedTrait1 as Bound;
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
trait TraitChangeTraitBoundWhere<T> where T: Bound {
fn method(a: T);
}
+211 -211
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -22,35 +22,35 @@
// Change Method Name -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait ChangeMethodNameTrait {
fn method_name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeMethodNameTrait for Foo {
fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids,predicates_of", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub trait ChangeMethodNameTrait {
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass6")]
fn method_name2();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeMethodNameTrait for Foo {
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass6")]
fn method_name2() { }
}
@@ -62,7 +62,7 @@ pub trait ChangeMethodBodyTrait {
fn method_name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeMethodBodyTrait for Foo {
// --------------------------------------------------------------
// -------------------------
@@ -73,16 +73,16 @@ fn method_name() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeMethodBodyTrait for Foo {
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method_name() {
()
}
@@ -96,7 +96,7 @@ pub trait ChangeMethodBodyTraitInlined {
fn method_name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeMethodBodyTraitInlined for Foo {
// ----------------------------------------------------------------------------
// -------------------------
@@ -108,16 +108,16 @@ fn method_name() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeMethodBodyTraitInlined for Foo {
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,typeck_root,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[inline]
fn method_name() {
panic!()
@@ -126,37 +126,37 @@ fn method_name() {
// Change Method Selfness ------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait ChangeMethodSelfnessTrait {
fn method_name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeMethodSelfnessTrait for Foo {
fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait ChangeMethodSelfnessTrait {
fn method_name(&self);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeMethodSelfnessTrait for Foo {
#[rustc_clean(
except="opt_hir_owner_nodes,associated_item,generics_of,fn_sig,typeck_root,optimized_mir",
cfg="bfail2",
cfg="bpass2",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
except="opt_hir_owner_nodes,associated_item,generics_of,fn_sig,typeck_root,optimized_mir",
cfg="bfail5",
cfg="bpass5",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
fn method_name(&self) {
()
}
@@ -164,48 +164,48 @@ fn method_name(&self) {
// Change Method Selfness -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait RemoveMethodSelfnessTrait {
fn method_name(&self);
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl RemoveMethodSelfnessTrait for Foo {
fn method_name(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait RemoveMethodSelfnessTrait {
fn method_name();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl RemoveMethodSelfnessTrait for Foo {
#[rustc_clean(
except="opt_hir_owner_nodes,associated_item,generics_of,fn_sig,typeck_root,optimized_mir",
cfg="bfail2",
cfg="bpass2",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
except="opt_hir_owner_nodes,associated_item,generics_of,fn_sig,typeck_root,optimized_mir",
cfg="bfail5",
cfg="bpass5",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
fn method_name() {}
}
// Change Method Selfmutness -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait ChangeMethodSelfmutnessTrait {
fn method_name(&self);
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeMethodSelfmutnessTrait for Foo {
// -----------------------------------------------------------------------------------
// -------------------------
@@ -214,101 +214,101 @@ impl ChangeMethodSelfmutnessTrait for Foo {
fn method_name(& self) {}
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait ChangeMethodSelfmutnessTrait {
fn method_name(&mut self);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeMethodSelfmutnessTrait for Foo {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method_name(&mut self) {}
}
// Change item kind -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait ChangeItemKindTrait {
fn name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeItemKindTrait for Foo {
fn name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait ChangeItemKindTrait {
type name;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeItemKindTrait for Foo {
type name = ();
}
// Remove item -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait RemoveItemTrait {
type TypeName;
fn method_name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl RemoveItemTrait for Foo {
type TypeName = ();
fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait RemoveItemTrait {
type TypeName;
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl RemoveItemTrait for Foo {
type TypeName = ();
}
// Add item -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait AddItemTrait {
type TypeName;
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl AddItemTrait for Foo {
type TypeName = ();
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait AddItemTrait {
type TypeName;
fn method_name();
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,associated_item_def_ids", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl AddItemTrait for Foo {
type TypeName = ();
fn method_name() { }
@@ -316,7 +316,7 @@ fn method_name() { }
// Change has-value -----------------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait ChangeHasValueTrait {
//--------------------------------------------------------
//--------------------------
@@ -325,29 +325,29 @@ pub trait ChangeHasValueTrait {
fn method_name() ;
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeHasValueTrait for Foo {
fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub trait ChangeHasValueTrait {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeHasValueTrait for Foo {
fn method_name() { }
}
@@ -358,7 +358,7 @@ pub trait AddDefaultTrait {
fn method_name();
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl AddDefaultTrait for Foo {
// -------------------------------------------------------
// -------------------------
@@ -367,27 +367,27 @@ impl AddDefaultTrait for Foo {
fn method_name() { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl AddDefaultTrait for Foo {
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
default fn method_name() { }
}
// Add arguments
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait AddArgumentTrait {
fn method_name(&self);
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl AddArgumentTrait for Foo {
// -----------------------------------------------------------------------------------
// -------------------------
@@ -396,32 +396,32 @@ impl AddArgumentTrait for Foo {
fn method_name(&self ) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait AddArgumentTrait {
fn method_name(&self, x: u32);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl AddArgumentTrait for Foo {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method_name(&self, _x: u32) { }
}
// Change argument type
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub trait ChangeArgumentTypeTrait {
fn method_name(&self, x: u32);
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeArgumentTypeTrait for Foo {
// -----------------------------------------------------------------------------------
// -------------------------
@@ -430,21 +430,21 @@ impl ChangeArgumentTypeTrait for Foo {
fn method_name(&self, _x: u32 ) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[cfg(not(any(bpass1,bpass4)))]
pub trait ChangeArgumentTypeTrait {
fn method_name(&self, x: char);
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeArgumentTypeTrait for Foo {
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,fn_sig,typeck_root,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn method_name(&self, _x: char) { }
}
@@ -457,27 +457,27 @@ trait AddTypeParameterToImpl<T> {
fn id(t: T) -> T;
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl AddTypeParameterToImpl<u32> for Bar<u32> {
fn id(t: u32) -> u32 { t }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,impl_trait_header", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,impl_trait_header", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,impl_trait_header", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,generics_of,impl_trait_header", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl<TTT> AddTypeParameterToImpl<TTT> for Bar<TTT> {
#[rustc_clean(
except="opt_hir_owner_nodes,generics_of,fn_sig,type_of,typeck_root,optimized_mir",
cfg="bfail2",
cfg="bpass2",
)]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(
except="opt_hir_owner_nodes,generics_of,fn_sig,type_of,typeck_root,optimized_mir",
cfg="bfail5",
cfg="bpass5",
)]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass6")]
fn id(t: TTT) -> TTT { t }
}
@@ -488,21 +488,21 @@ trait ChangeSelfTypeOfImpl {
fn id(self) -> Self;
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl ChangeSelfTypeOfImpl for u32 {
fn id(self) -> Self { self }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,impl_trait_header", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,impl_trait_header", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,impl_trait_header", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,impl_trait_header", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl ChangeSelfTypeOfImpl for u64 {
#[rustc_clean(except="fn_sig,typeck_root,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="fn_sig,typeck_root,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(except="fn_sig,typeck_root,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="fn_sig,typeck_root,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn id(self) -> Self { self }
}
@@ -513,21 +513,21 @@ trait AddLifetimeBoundToImplParameter {
fn id(self) -> Self;
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl<T> AddLifetimeBoundToImplParameter for T {
fn id(self) -> Self { self }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl<T: 'static> AddLifetimeBoundToImplParameter for T {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn id(self) -> Self { self }
}
@@ -538,21 +538,21 @@ trait AddTraitBoundToImplParameter {
fn id(self) -> Self;
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl<T> AddTraitBoundToImplParameter for T {
fn id(self) -> Self { self }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl<T: Clone> AddTraitBoundToImplParameter for T {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
fn id(self) -> Self { self }
}
@@ -563,7 +563,7 @@ trait AddNoMangleToMethod {
fn add_no_mangle_to_method(&self) { }
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl AddNoMangleToMethod for Foo {
// -------------------------
// -------------------------
@@ -573,16 +573,16 @@ impl AddNoMangleToMethod for Foo {
fn add_no_mangle_to_method(&self) { }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl AddNoMangleToMethod for Foo {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[unsafe(no_mangle)]
fn add_no_mangle_to_method(&self) { }
}
@@ -593,7 +593,7 @@ trait MakeMethodInline {
fn make_method_inline(&self) -> u8 { 0 }
}
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
impl MakeMethodInline for Foo {
// -------------------------
// -------------------------
@@ -603,16 +603,16 @@ impl MakeMethodInline for Foo {
fn make_method_inline(&self) -> u8 { 0 }
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
impl MakeMethodInline for Foo {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
#[inline]
fn make_method_inline(&self) -> u8 { 0 }
}
+66 -66
View File
@@ -10,10 +10,10 @@
// results in a change of the ICH for the enum's metadata, and that it stays
// the same between rev2 and rev3.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph -O
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -21,34 +21,34 @@
// Change type (primitive) -----------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangePrimitiveType = i32;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangePrimitiveType = i64;
// Change mutability -----------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangeMutability = &'static i32;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeMutability = &'static mut i32;
// Change mutability -----------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangeLifetime<'a> = (&'static i32, &'a i32);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeLifetime<'a> = (&'a i32, &'a i32);
@@ -57,23 +57,23 @@
struct Struct1;
struct Struct2;
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangeTypeStruct = Struct1;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeTypeStruct = Struct2;
// Change type (tuple) ---------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangeTypeTuple = (u32, u64);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeTypeTuple = (u32, i64);
@@ -88,102 +88,102 @@ enum Enum2 {
Var2,
}
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangeTypeEnum = Enum1;
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeTypeEnum = Enum2;
// Add tuple field -------------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddTupleField = (i32, i64);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddTupleField = (i32, i64, i16);
// Change nested tuple field ---------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type ChangeNestedTupleField = (i32, (i64, i16));
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeNestedTupleField = (i32, (i64, i8));
// Add type param --------------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddTypeParam<T1> = (T1, T1);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddTypeParam<T1, T2> = (T1, T2);
// Add type param bound --------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddTypeParamBound<T1> = (T1, u32);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddTypeParamBound<T1: Clone> = (T1, u32);
// Add type param bound in where clause ----------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddTypeParamBoundWhereClause<T1> where T1: Clone = (T1, u32);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddTypeParamBoundWhereClause<T1> where T1: Clone+Copy = (T1, u32);
// Add lifetime param ----------------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddLifetimeParam<'a> = (&'a u32, &'a u32);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddLifetimeParam<'a, 'b> = (&'a u32, &'b u32);
// Add lifetime param bound ----------------------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddLifetimeParamBound<'a, 'b> = (&'a u32, &'b u32);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddLifetimeParamBound<'a, 'b: 'a> = (&'a u32, &'b u32);
// Add lifetime param bound in where clause ------------------------------------
#[cfg(bfail1)]
#[cfg(bpass1)]
type AddLifetimeParamBoundWhereClause<'a, 'b, 'c>
where 'b: 'a
= (&'a u32, &'b u32, &'c u32);
#[cfg(not(bfail1))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[cfg(not(bpass1))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type AddLifetimeParamBoundWhereClause<'a, 'b, 'c>
where 'b: 'a,
'c: 'a
@@ -196,13 +196,13 @@ trait ReferencedTrait1 {}
trait ReferencedTrait2 {}
mod change_trait_bound_indirectly {
#[cfg(bfail1)]
#[cfg(bpass1)]
use super::ReferencedTrait1 as Trait;
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeTraitBoundIndirectly<T: Trait> = (T, u32);
}
@@ -210,12 +210,12 @@ mod change_trait_bound_indirectly {
// Change Trait Bound Indirectly In Where Clause -------------------------------
mod change_trait_bound_indirectly_in_where_clause {
#[cfg(bfail1)]
#[cfg(bpass1)]
use super::ReferencedTrait1 as Trait;
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
use super::ReferencedTrait2 as Trait;
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
type ChangeTraitBoundIndirectly<T> where T : Trait = (T, u32);
}
+173 -173
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,16 +19,16 @@
// Change constant operand of negation -----------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn const_negation() -> i32 {
-10
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn const_negation() -> i32 {
-1
}
@@ -36,16 +36,16 @@ pub fn const_negation() -> i32 {
// Change constant operand of bitwise not --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn const_bitwise_not() -> i32 {
!100
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn const_bitwise_not() -> i32 {
!99
}
@@ -53,16 +53,16 @@ pub fn const_bitwise_not() -> i32 {
// Change variable operand of negation -----------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn var_negation(x: i32, y: i32) -> i32 {
-x
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn var_negation(x: i32, y: i32) -> i32 {
-y
}
@@ -70,16 +70,16 @@ pub fn var_negation(x: i32, y: i32) -> i32 {
// Change variable operand of bitwise not --------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn var_bitwise_not(x: i32, y: i32) -> i32 {
!x
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn var_bitwise_not(x: i32, y: i32) -> i32 {
!y
}
@@ -87,16 +87,16 @@ pub fn var_bitwise_not(x: i32, y: i32) -> i32 {
// Change variable operand of deref --------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn var_deref(x: &i32, y: &i32) -> i32 {
*x
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn var_deref(x: &i32, y: &i32) -> i32 {
*y
}
@@ -104,16 +104,16 @@ pub fn var_deref(x: &i32, y: &i32) -> i32 {
// Change first constant operand of addition -----------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn first_const_add() -> i32 {
1 + 3
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn first_const_add() -> i32 {
2 + 3
}
@@ -121,16 +121,16 @@ pub fn first_const_add() -> i32 {
// Change second constant operand of addition -----------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn second_const_add() -> i32 {
1 + 2
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn second_const_add() -> i32 {
1 + 3
}
@@ -138,16 +138,16 @@ pub fn second_const_add() -> i32 {
// Change first variable operand of addition -----------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn first_var_add(a: i32, b: i32) -> i32 {
a + 2
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn first_var_add(a: i32, b: i32) -> i32 {
b + 2
}
@@ -155,16 +155,16 @@ pub fn first_var_add(a: i32, b: i32) -> i32 {
// Change second variable operand of addition ----------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn second_var_add(a: i32, b: i32) -> i32 {
1 + a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn second_var_add(a: i32, b: i32) -> i32 {
1 + b
}
@@ -172,16 +172,16 @@ pub fn second_var_add(a: i32, b: i32) -> i32 {
// Change operator from + to - -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn plus_to_minus(a: i32) -> i32 {
1 + a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn plus_to_minus(a: i32) -> i32 {
1 - a
}
@@ -189,16 +189,16 @@ pub fn plus_to_minus(a: i32) -> i32 {
// Change operator from + to * -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn plus_to_mult(a: i32) -> i32 {
1 + a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn plus_to_mult(a: i32) -> i32 {
1 * a
}
@@ -206,16 +206,16 @@ pub fn plus_to_mult(a: i32) -> i32 {
// Change operator from + to / -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn plus_to_div(a: i32) -> i32 {
1 + a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn plus_to_div(a: i32) -> i32 {
1 / a
}
@@ -223,16 +223,16 @@ pub fn plus_to_div(a: i32) -> i32 {
// Change operator from + to % -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn plus_to_mod(a: i32) -> i32 {
1 + a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn plus_to_mod(a: i32) -> i32 {
1 % a
}
@@ -240,16 +240,16 @@ pub fn plus_to_mod(a: i32) -> i32 {
// Change operator from && to || -----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn and_to_or(a: bool, b: bool) -> bool {
a && b
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn and_to_or(a: bool, b: bool) -> bool {
a || b
}
@@ -257,16 +257,16 @@ pub fn and_to_or(a: bool, b: bool) -> bool {
// Change operator from & to | -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn bitwise_and_to_bitwise_or(a: i32) -> i32 {
1 & a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn bitwise_and_to_bitwise_or(a: i32) -> i32 {
1 | a
}
@@ -274,16 +274,16 @@ pub fn bitwise_and_to_bitwise_or(a: i32) -> i32 {
// Change operator from & to ^ -------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn bitwise_and_to_bitwise_xor(a: i32) -> i32 {
1 & a
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn bitwise_and_to_bitwise_xor(a: i32) -> i32 {
1 ^ a
}
@@ -291,16 +291,16 @@ pub fn bitwise_and_to_bitwise_xor(a: i32) -> i32 {
// Change operator from & to << ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn bitwise_and_to_lshift(a: i32) -> i32 {
a & 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn bitwise_and_to_lshift(a: i32) -> i32 {
a << 1
}
@@ -308,16 +308,16 @@ pub fn bitwise_and_to_lshift(a: i32) -> i32 {
// Change operator from & to >> ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn bitwise_and_to_rshift(a: i32) -> i32 {
a & 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn bitwise_and_to_rshift(a: i32) -> i32 {
a >> 1
}
@@ -325,16 +325,16 @@ pub fn bitwise_and_to_rshift(a: i32) -> i32 {
// Change operator from == to != -----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn eq_to_uneq(a: i32) -> bool {
a == 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn eq_to_uneq(a: i32) -> bool {
a != 1
}
@@ -342,16 +342,16 @@ pub fn eq_to_uneq(a: i32) -> bool {
// Change operator from == to < ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn eq_to_lt(a: i32) -> bool {
a == 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn eq_to_lt(a: i32) -> bool {
a < 1
}
@@ -359,16 +359,16 @@ pub fn eq_to_lt(a: i32) -> bool {
// Change operator from == to > ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn eq_to_gt(a: i32) -> bool {
a == 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn eq_to_gt(a: i32) -> bool {
a > 1
}
@@ -376,16 +376,16 @@ pub fn eq_to_gt(a: i32) -> bool {
// Change operator from == to <= -----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn eq_to_le(a: i32) -> bool {
a == 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn eq_to_le(a: i32) -> bool {
a <= 1
}
@@ -393,16 +393,16 @@ pub fn eq_to_le(a: i32) -> bool {
// Change operator from == to >= -----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn eq_to_ge(a: i32) -> bool {
a == 1
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn eq_to_ge(a: i32) -> bool {
a >= 1
}
@@ -410,18 +410,18 @@ pub fn eq_to_ge(a: i32) -> bool {
// Change type in cast expression ----------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn type_cast(a: u8) -> u64 {
let b = a as i32;
let c = b as u64;
c
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir,typeck_root", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir,typeck_root", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir,typeck_root", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir,typeck_root", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn type_cast(a: u8) -> u64 {
let b = a as u32;
let c = b as u64;
@@ -431,16 +431,16 @@ pub fn type_cast(a: u8) -> u64 {
// Change value in cast expression ---------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn value_cast(a: u32) -> i32 {
1 as i32
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn value_cast(a: u32) -> i32 {
2 as i32
}
@@ -448,7 +448,7 @@ pub fn value_cast(a: u32) -> i32 {
// Change place in assignment --------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn place() -> i32 {
let mut x = 10;
let mut y = 11;
@@ -456,11 +456,11 @@ pub fn place() -> i32 {
x
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn place() -> i32 {
let mut x = 10;
let mut y = 11;
@@ -471,18 +471,18 @@ pub fn place() -> i32 {
// Change r-value in assignment ------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn rvalue() -> i32 {
let mut x = 10;
x = 9;
x
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn rvalue() -> i32 {
let mut x = 10;
x = 8;
@@ -492,16 +492,16 @@ pub fn rvalue() -> i32 {
// Change index into slice -----------------------------------------------------
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn index_to_slice(s: &[u8], i: usize, j: usize) -> u8 {
s[i]
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bfail5")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(except="opt_hir_owner_nodes,optimized_mir", cfg="bpass5")]
#[rustc_clean(cfg="bpass6")]
pub fn index_to_slice(s: &[u8], i: usize, j: usize) -> u8 {
s[j]
}
+59 -59
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,7 +19,7 @@
// Change loop body
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_loop_body() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -28,11 +28,11 @@ pub fn change_loop_body() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_loop_body() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -44,7 +44,7 @@ pub fn change_loop_body() {
// Change loop body
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_loop_condition() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -53,11 +53,11 @@ pub fn change_loop_condition() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_loop_condition() {
let mut _x = 0;
while let Some(1u32) = None {
@@ -69,7 +69,7 @@ pub fn change_loop_condition() {
// Add break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_break() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -78,11 +78,11 @@ pub fn add_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_break() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -94,7 +94,7 @@ pub fn add_break() {
// Add loop label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -103,11 +103,11 @@ pub fn add_loop_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label() {
let mut _x = 0;
'label: while let Some(0u32) = None {
@@ -119,7 +119,7 @@ pub fn add_loop_label() {
// Add loop label to break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: while let Some(0u32) = None {
@@ -128,11 +128,11 @@ pub fn add_loop_label_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: while let Some(0u32) = None {
@@ -144,7 +144,7 @@ pub fn add_loop_label_to_break() {
// Change break label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_break_label() {
let mut _x = 0;
'outer: while let Some(0u32) = None {
@@ -155,11 +155,11 @@ pub fn change_break_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_break_label() {
let mut _x = 0;
'outer: while let Some(0u32) = None {
@@ -171,7 +171,7 @@ pub fn change_break_label() {
}
// Add loop label to continue
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: while let Some(0u32) = None {
@@ -180,11 +180,11 @@ pub fn add_loop_label_to_continue() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: while let Some(0u32) = None {
@@ -196,7 +196,7 @@ pub fn add_loop_label_to_continue() {
// Change continue label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_label() {
let mut _x = 0;
'outer: while let Some(0u32) = None {
@@ -207,11 +207,11 @@ pub fn change_continue_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_label() {
let mut _x = 0;
'outer: while let Some(0u32) = None {
@@ -225,7 +225,7 @@ pub fn change_continue_label() {
// Change continue to break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_to_break() {
let mut _x = 0;
while let Some(0u32) = None {
@@ -234,11 +234,11 @@ pub fn change_continue_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_to_break() {
let mut _x = 0;
while let Some(0u32) = None {
+59 -59
View File
@@ -5,13 +5,13 @@
// and make sure that the hash has changed, then change nothing between rev2 and
// rev3 and make sure that the hash has not changed.
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bfail1 bfail2 bfail3 bfail4 bfail5 bfail6
//@ revisions: bpass1 bpass2 bpass3 bpass4 bpass5 bpass6
//@ compile-flags: -Z query-dep-graph -O
//@ [bfail1]compile-flags: -Zincremental-ignore-spans
//@ [bfail2]compile-flags: -Zincremental-ignore-spans
//@ [bfail3]compile-flags: -Zincremental-ignore-spans
//@ [bpass1]compile-flags: -Zincremental-ignore-spans
//@ [bpass2]compile-flags: -Zincremental-ignore-spans
//@ [bpass3]compile-flags: -Zincremental-ignore-spans
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -19,7 +19,7 @@
// Change loop body
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_loop_body() {
let mut _x = 0;
while true {
@@ -28,11 +28,11 @@ pub fn change_loop_body() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_loop_body() {
let mut _x = 0;
while true {
@@ -44,7 +44,7 @@ pub fn change_loop_body() {
// Change loop body
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_loop_condition() {
let mut _x = 0;
while true {
@@ -53,11 +53,11 @@ pub fn change_loop_condition() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_loop_condition() {
let mut _x = 0;
while false {
@@ -69,7 +69,7 @@ pub fn change_loop_condition() {
// Add break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_break() {
let mut _x = 0;
while true {
@@ -78,11 +78,11 @@ pub fn add_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir, typeck_root")]
#[rustc_clean(cfg="bpass6")]
pub fn add_break() {
let mut _x = 0;
while true {
@@ -94,7 +94,7 @@ pub fn add_break() {
// Add loop label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label() {
let mut _x = 0;
while true {
@@ -103,11 +103,11 @@ pub fn add_loop_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label() {
let mut _x = 0;
'label: while true {
@@ -119,7 +119,7 @@ pub fn add_loop_label() {
// Add loop label to break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: while true {
@@ -128,11 +128,11 @@ pub fn add_loop_label_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_break() {
let mut _x = 0;
'label: while true {
@@ -144,7 +144,7 @@ pub fn add_loop_label_to_break() {
// Change break label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_break_label() {
let mut _x = 0;
'outer: while true {
@@ -155,11 +155,11 @@ pub fn change_break_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes,optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_break_label() {
let mut _x = 0;
'outer: while true {
@@ -173,7 +173,7 @@ pub fn change_break_label() {
// Add loop label to continue
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: while true {
@@ -182,11 +182,11 @@ pub fn add_loop_label_to_continue() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn add_loop_label_to_continue() {
let mut _x = 0;
'label: while true {
@@ -198,7 +198,7 @@ pub fn add_loop_label_to_continue() {
// Change continue label
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_label() {
let mut _x = 0;
'outer: while true {
@@ -209,11 +209,11 @@ pub fn change_continue_label() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_label() {
let mut _x = 0;
'outer: while true {
@@ -227,7 +227,7 @@ pub fn change_continue_label() {
// Change continue to break
#[cfg(any(bfail1,bfail4))]
#[cfg(any(bpass1,bpass4))]
pub fn change_continue_to_break() {
let mut _x = 0;
while true {
@@ -236,11 +236,11 @@ pub fn change_continue_to_break() {
}
}
#[cfg(not(any(bfail1,bfail4)))]
#[rustc_clean(cfg="bfail2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bfail5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bfail6")]
#[cfg(not(any(bpass1,bpass4)))]
#[rustc_clean(cfg="bpass2", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass3")]
#[rustc_clean(cfg="bpass5", except="opt_hir_owner_nodes, optimized_mir")]
#[rustc_clean(cfg="bpass6")]
pub fn change_continue_to_break() {
let mut _x = 0;
while true {
+6 -6
View File
@@ -1,24 +1,24 @@
// Check that the hash of `foo` doesn't change just because we ordered
// the nested items (or even added new ones).
//@ revisions: bfail1 bfail2
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![crate_type = "rlib"]
#![feature(rustc_attrs)]
#![allow(dead_code)]
#[rustc_clean(except = "opt_hir_owner_nodes", cfg = "bfail2")]
#[rustc_clean(except = "opt_hir_owner_nodes", cfg = "bpass2")]
pub fn foo() {
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn baz() {} // order is different...
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bpass2")]
pub fn bar() {} // but that doesn't matter.
#[cfg(bfail2)]
#[cfg(bpass2)]
pub fn baz() {} // order is different...
pub fn bap() {} // neither does adding a new item
+2 -2
View File
@@ -1,7 +1,7 @@
//@ proc-macro: incremental_proc_macro_aux.rs
//@ revisions: bfail1 bfail2
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bpass1 bpass2
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
// This test makes sure that we still find the proc-macro registrar function
// when we compile proc-macros incrementally (see #47292).
+6 -6
View File
@@ -6,10 +6,10 @@
// This was fixed by improving the resolution of the `FnOnce` trait
// selection node.
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags:-Zquery-dep-graph
//@ build-pass (FIXME(62277): could be check-pass?)
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![feature(rustc_attrs)]
@@ -19,14 +19,14 @@ fn main() {
}
mod a {
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn foo() {
let x = vec![1, 2, 3];
let v = || ::std::mem::drop(x);
v();
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
pub fn foo() {
let x = vec![1, 2, 3, 4];
let v = || ::std::mem::drop(x);
@@ -35,8 +35,8 @@ pub fn foo() {
}
mod b {
#[rustc_clean(cfg="bfail2")]
#[rustc_clean(cfg="bfail3")]
#[rustc_clean(cfg="bpass2")]
#[rustc_clean(cfg="bpass3")]
pub fn bar() {
let x = vec![1, 2, 3];
let v = || ::std::mem::drop(x);
+6 -7
View File
@@ -1,16 +1,15 @@
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph --test
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
#![crate_type = "rlib"]
#![rustc_partition_codegened(module="issue_49595-tests", cfg="bfail2")]
#![rustc_partition_codegened(module="issue_49595-lit_test", cfg="bfail3")]
#![rustc_partition_codegened(module="issue_49595-tests", cfg="bpass2")]
#![rustc_partition_codegened(module="issue_49595-lit_test", cfg="bpass3")]
mod tests {
#[cfg_attr(not(bfail1), test)]
#[cfg_attr(not(bpass1), test)]
fn _test() {
}
}
@@ -20,8 +19,8 @@ fn _test() {
// takes effect.
// replacing a module to have a stable span
#[cfg_attr(not(bfail3), path = "auxiliary/lit_a.rs")]
#[cfg_attr(bfail3, path = "auxiliary/lit_b.rs")]
#[cfg_attr(not(bpass3), path = "auxiliary/lit_a.rs")]
#[cfg_attr(bpass3, path = "auxiliary/lit_b.rs")]
mod lit;
pub mod lit_test {
@@ -2,9 +2,9 @@
// rustc_on_unimplemented, but with this bug we are seeing it fire (on
// subsequent runs) if incremental compilation is enabled.
//@ revisions: bfail1 bfail2
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bpass1 bpass2
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![feature(rustc_attrs)]
#![deny(unused_attributes)]
@@ -3,9 +3,9 @@
// seeing it fire (on subsequent runs) if incremental compilation is
// enabled.
//@ revisions: bfail1 bfail2
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bpass1 bpass2
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![feature(rustc_attrs)]
#![deny(unused_attributes)]
@@ -1,5 +1,4 @@
//@ revisions: bfail1 bfail2
//@ build-pass
//@ revisions: bpass1 bpass2
//@ needs-crate-type: cdylib
#![crate_type="lib"]
@@ -8,6 +7,6 @@
#[allow(unused_imports)]
use std::alloc::System;
#[cfg(bfail1)]
#[cfg(bpass1)]
#[global_allocator]
static ALLOC: System = System;
@@ -1,8 +1,7 @@
//@ revisions: bfail1 bfail2
//@[bfail1] compile-flags: --crate-type=lib -Zassert-incr-state=not-loaded
//@[bfail2] compile-flags: --crate-type=lib -Zassert-incr-state=loaded
//@ revisions: bpass1 bpass2
//@[bpass1] compile-flags: --crate-type=lib -Zassert-incr-state=not-loaded
//@[bpass2] compile-flags: --crate-type=lib -Zassert-incr-state=loaded
//@ edition: 2021
//@ build-pass
//@ ignore-backends: gcc
#![allow(dead_code)]
+5 -5
View File
@@ -1,11 +1,11 @@
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph
//@ build-pass (FIXME(62277): could be check-pass?)
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
#![rustc_partition_reused(module = "krate_inherent-x", cfg = "bfail2")]
#![rustc_partition_reused(module = "krate_inherent-x", cfg = "bpass2")]
#![crate_type = "rlib"]
pub mod x {
@@ -20,5 +20,5 @@ pub fn method() {
}
}
#[cfg(bfail1)]
pub fn bar() {} // remove this unrelated fn in bfail2, which should not affect `x::method`
#[cfg(bpass1)]
pub fn bar() {} // remove this unrelated fn in bpass2, which should not affect `x::method`
+2 -3
View File
@@ -1,9 +1,8 @@
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph --crate-type rlib -C linker-plugin-lto -O
//@ no-prefer-dynamic
//@ build-pass
#![feature(rustc_attrs)]
#![rustc_partition_reused(module = "lto_in_linker", cfg = "bfail2")]
#![rustc_partition_reused(module = "lto_in_linker", cfg = "bpass2")]
pub fn foo() {}
+2 -2
View File
@@ -1,6 +1,6 @@
//@ revisions: bfail1 bfail2 bfail3
//@ build-pass (FIXME(62277): could be check-pass?)
//@ revisions: bpass1 bpass2 bpass3
//@ ignore-backends: gcc
// FIXME(#62277): could be check-pass?
// This test case makes sure that we can compile with incremental compilation
// enabled when there are macros exported from this crate. (See #37756)
+1 -2
View File
@@ -1,5 +1,4 @@
//@ revisions: bfail1 bfail2
//@ check-pass
//@ revisions: cpass1 cpass2
//@ compile-flags: --crate-type cdylib
//@ needs-crate-type: cdylib
+5 -5
View File
@@ -1,24 +1,24 @@
// This test case makes sure that the compiler doesn't crash due to a failing
// table lookup when a source file is removed.
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
// Note that we specify -g so that the SourceFiles actually get referenced by the
// incr. comp. cache:
//@ compile-flags: -Z query-dep-graph -g
//@ build-pass (FIXME(62277): could be check-pass?)
// FIXME(#62277): could be check-pass?
#![crate_type= "rlib"]
#[cfg(bfail1)]
#[cfg(bpass1)]
mod auxiliary;
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn foo() {
auxiliary::print_hello();
}
#[cfg(bfail2)]
#[cfg(bpass2)]
pub fn foo() {
println!("hello");
}
+2 -3
View File
@@ -1,8 +1,7 @@
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph --crate-type rlib -C lto
//@ build-pass
#![feature(rustc_attrs)]
#![rustc_partition_reused(module = "rlib_lto", cfg = "bfail2")]
#![rustc_partition_reused(module = "rlib_lto", cfg = "bpass2")]
pub fn foo() {}
+7 -7
View File
@@ -1,6 +1,6 @@
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -Z query-dep-graph -Copt-level=0
//@ build-pass (FIXME(62277): could be check-pass?)
// FIXME(#62277): could be check-pass?
#![allow(warnings)]
#![feature(rustc_attrs)]
@@ -11,13 +11,13 @@
// needed even for callers of `x`.
pub mod x {
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn x() {
println!("{}", "1");
}
#[cfg(bfail2)]
#[rustc_clean(except = "opt_hir_owner_nodes,optimized_mir", cfg = "bfail2")]
#[cfg(bpass2)]
#[rustc_clean(except = "opt_hir_owner_nodes,optimized_mir", cfg = "bpass2")]
pub fn x() {
println!("{}", "2");
}
@@ -26,7 +26,7 @@ pub fn x() {
pub mod y {
use x;
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bpass2")]
pub fn y() {
x::x();
}
@@ -35,7 +35,7 @@ pub fn y() {
pub mod z {
use y;
#[rustc_clean(cfg = "bfail2")]
#[rustc_clean(cfg = "bpass2")]
pub fn z() {
y::y();
}
@@ -2,37 +2,36 @@
// via ThinLTO and that imported thing changes while the definition of the CGU
// stays untouched.
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph -O
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
#![crate_type="rlib"]
#![rustc_expected_cgu_reuse(module="cgu_invalidated_via_import-foo",
cfg="bfail2",
cfg="bpass2",
kind="no")]
#![rustc_expected_cgu_reuse(module="cgu_invalidated_via_import-foo",
cfg="bfail3",
cfg="bpass3",
kind="pre-lto")] // Should be "post-lto", see issue #119076
#![rustc_expected_cgu_reuse(module="cgu_invalidated_via_import-bar",
cfg="bfail2",
cfg="bpass2",
kind="pre-lto")]
#![rustc_expected_cgu_reuse(module="cgu_invalidated_via_import-bar",
cfg="bfail3",
cfg="bpass3",
kind="pre-lto")] // Should be "post-lto", see issue #119076
mod foo {
// Trivial functions like this one are imported very reliably by ThinLTO.
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn inlined_fn() -> u32 {
1234
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
pub fn inlined_fn() -> u32 {
// See `cgu_keeps_identical_fn.rs` for why this is different
// from the other version of this function.
@@ -1,5 +1,4 @@
//@ revisions: bfail1 bfail2
//@ build-pass
//@ revisions: bpass1 bpass2
//@ ignore-backends: gcc
// rust-lang/rust#69798:
@@ -18,7 +17,7 @@ fn drop(&mut self) {
pub extern "C" fn run() {
thread_local! { pub static FOO : Foo = Foo { } ; }
#[cfg(bfail2)]
#[cfg(bpass2)]
{
FOO.with(|_f| ())
}
@@ -1,5 +1,4 @@
//@ revisions: bfail1 bfail2
//@ build-pass
//@ revisions: bpass1 bpass2
//@ ignore-backends: gcc
// rust-lang/rust#69798:
@@ -18,7 +17,7 @@ fn drop(&mut self) {
pub extern "C" fn run() {
thread_local! { pub static FOO : Foo = Foo { } ; }
#[cfg(bfail1)]
#[cfg(bpass1)]
{
FOO.with(|_f| ())
}
@@ -1,6 +1,5 @@
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -O -Zhuman-readable-cgu-names -Cllvm-args=-import-instr-limit=10
//@ build-pass
//@ ignore-backends: gcc
// rust-lang/rust#59535:
@@ -28,16 +27,16 @@ fn main() {
mod foo {
// In bfail1, ThinLTO decides that foo() does not get inlined into main, and
// In bpass1, ThinLTO decides that foo() does not get inlined into main, and
// instead bar() gets inlined into foo().
// In bfail2, foo() gets inlined into main.
// In bpass2, foo() gets inlined into main.
pub fn foo(){
bar()
}
// This function needs to be big so that it does not get inlined by ThinLTO
// but *does* get inlined into foo() when it is declared `internal` in
// bfail1 (alone).
// bpass1 (alone).
pub fn bar(){
println!("quux1");
println!("quux2");
@@ -55,7 +54,7 @@ mod bar {
#[inline(never)]
pub fn baz() {
#[cfg(bfail2)]
#[cfg(bpass2)]
{
crate::foo::bar();
}
@@ -1,6 +1,5 @@
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: -O -Zhuman-readable-cgu-names -Cllvm-args=-import-instr-limit=10
//@ build-pass
//@ ignore-backends: gcc
// rust-lang/rust#59535:
@@ -38,8 +37,8 @@ fn main() {
mod foo {
// In bfail1, foo() gets inlined into main.
// In bfail2, ThinLTO decides that foo() does not get inlined into main, and
// In bpass1, foo() gets inlined into main.
// In bpass2, ThinLTO decides that foo() does not get inlined into main, and
// instead bar() gets inlined into foo(). But faulty logic in our incr.
// ThinLTO implementation thought that `main()` is unchanged and thus reused
// the object file still containing a call to the now non-existent bar().
@@ -49,7 +48,7 @@ pub fn foo(){
// This function needs to be big so that it does not get inlined by ThinLTO
// but *does* get inlined into foo() once it is declared `internal` in
// bfail2.
// bpass2.
pub fn bar(){
println!("quux1");
println!("quux2");
@@ -67,7 +66,7 @@ mod bar {
#[inline(never)]
pub fn baz() {
#[cfg(bfail1)]
#[cfg(bpass1)]
{
crate::foo::bar();
}
@@ -3,43 +3,42 @@
// ends up with any spans in its LLVM bitecode, so LLVM is able to skip
// re-building any modules which import 'inlined_fn'
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph -O
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
#![crate_type = "rlib"]
#![rustc_expected_cgu_reuse(
module = "cgu_keeps_identical_fn-foo",
cfg = "bfail2",
cfg = "bpass2",
kind = "pre-lto"
)]
#![rustc_expected_cgu_reuse(
module = "cgu_keeps_identical_fn-foo",
cfg = "bfail3",
cfg = "bpass3",
kind = "pre-lto" // Should be "post-lto", see issue #119076
)]
#![rustc_expected_cgu_reuse(
module = "cgu_keeps_identical_fn-bar",
cfg = "bfail2",
cfg = "bpass2",
kind = "pre-lto" // Should be "post-lto", see issue #119076
)]
#![rustc_expected_cgu_reuse(
module = "cgu_keeps_identical_fn-bar",
cfg = "bfail3",
cfg = "bpass3",
kind = "pre-lto" // Should be "post-lto", see issue #119076
)]
mod foo {
// Trivial functions like this one are imported very reliably by ThinLTO.
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn inlined_fn() -> u32 {
1234
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
pub fn inlined_fn() -> u32 {
1234
}
@@ -1,42 +1,41 @@
// This test checks that a change in a CGU does not invalidate an unrelated CGU
// during incremental ThinLTO.
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Z query-dep-graph -O
//@ build-pass
//@ ignore-backends: gcc
#![feature(rustc_attrs)]
#![crate_type="rlib"]
#![rustc_expected_cgu_reuse(module="independent_cgus_dont_affect_each_other-foo",
cfg="bfail2",
cfg="bpass2",
kind="no")]
#![rustc_expected_cgu_reuse(module="independent_cgus_dont_affect_each_other-foo",
cfg="bfail3",
cfg="bpass3",
kind="pre-lto")] // Should be "post-lto", see issue #119076
#![rustc_expected_cgu_reuse(module="independent_cgus_dont_affect_each_other-bar",
cfg="bfail2",
cfg="bpass2",
kind="pre-lto")]
#![rustc_expected_cgu_reuse(module="independent_cgus_dont_affect_each_other-bar",
cfg="bfail3",
cfg="bpass3",
kind="pre-lto")] // Should be "post-lto", see issue #119076
#![rustc_expected_cgu_reuse(module="independent_cgus_dont_affect_each_other-baz",
cfg="bfail2",
cfg="bpass2",
kind="pre-lto")] // Should be "post-lto", see issue #119076
#![rustc_expected_cgu_reuse(module="independent_cgus_dont_affect_each_other-baz",
cfg="bfail3",
cfg="bpass3",
kind="pre-lto")] // Should be "post-lto", see issue #119076
mod foo {
#[cfg(bfail1)]
#[cfg(bpass1)]
pub fn inlined_fn() -> u32 {
1234
}
#[cfg(not(bfail1))]
#[cfg(not(bpass1))]
pub fn inlined_fn() -> u32 {
// See `cgu_keeps_identical_fn.rs` for why this is different
// from the other version of this function.
@@ -1,7 +1,5 @@
//@ revisions: bfail1 bfail2
//@ revisions: cpass1 cpass2
//@ compile-flags: -Znext-solver
//@ check-pass
#![allow(dead_code)]
@@ -18,10 +16,10 @@ fn poll() -> Self::Error {
}
}
#[cfg(bfail1)]
#[cfg(cpass1)]
pub struct Error(());
#[cfg(bfail2)]
#[cfg(cpass2)]
pub struct Error();
fn main() {}
+3 -4
View File
@@ -4,9 +4,8 @@
// In this test prior to fixing compiler was having problems figuring out
// drop impl for T inside of m
//@ revisions: bfail1 bfail2
//@ revisions: bpass1 bpass2
//@ compile-flags: --crate-type=lib
//@ build-pass
//@ ignore-backends: gcc
#![allow(dead_code)]
@@ -32,9 +31,9 @@ pub fn i() -> Self {
}
enum C {
#[cfg(bfail1)]
#[cfg(bpass1)]
Up(()),
#[cfg(bfail2)]
#[cfg(bpass2)]
Lorry(()),
}
+1 -2
View File
@@ -1,6 +1,5 @@
//@ revisions: bfail1 bfail2 bfail3
//@ revisions: bpass1 bpass2 bpass3
//@ compile-flags: -Coverflow-checks=on
//@ build-pass
//@ ignore-backends: gcc
#![warn(arithmetic_overflow)]
@@ -1,3 +1,4 @@
//! Regression test for https://github.com/rust-lang/rust/issues/89188.
//@ check-pass
trait CallWithShim: Sized {
+65
View File
@@ -0,0 +1,65 @@
//! Make sure that `derive(Clone)` works for simple structs and enums.
//@ run-pass
#![allow(dead_code)]
#[derive(Clone)]
enum SimpleEnum {
A,
B(()),
C,
}
#[derive(Clone)]
enum GenericEnum<T, U> {
A(T),
B(T, U),
C,
}
#[derive(Clone)]
struct TupleStruct((), ());
#[derive(Clone)]
struct GenericStruct<T> {
foo: (),
bar: (),
baz: T,
}
#[derive(Clone)]
struct GenericTupleStruct<T>(T, ());
#[derive(Clone)]
struct ManyPrimitives {
_int: isize,
_i8: i8,
_i16: i16,
_i32: i32,
_i64: i64,
_uint: usize,
_u8: u8,
_u16: u16,
_u32: u32,
_u64: u64,
_f32: f32,
_f64: f64,
_bool: bool,
_char: char,
_nil: (),
}
// Regression test for issue #30244
#[derive(Copy, Clone)]
struct Array {
arr: [[u8; 256]; 4],
}
pub fn main() {
let _ = SimpleEnum::A.clone();
let _ = GenericEnum::A::<isize, isize>(1).clone();
let _ = GenericStruct { foo: (), bar: (), baz: 1 }.clone();
let _ = GenericTupleStruct(1, ()).clone();
}
@@ -1,4 +1,4 @@
//@ check-fail
//! Regression test for https://github.com/rust-lang/rust/issues/103157.
#[derive(PartialEq, Eq)]
pub enum Value {
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `f64: Eq` is not satisfied
--> $DIR/issue-103157.rs:6:11
--> $DIR/derive-eq-check-all-variants.rs:6:11
|
LL | #[derive(PartialEq, Eq)]
| -- in this derive macro expansion
@@ -1,7 +1,10 @@
//! Regression test for https://github.com/rust-lang/rust/issues/6341.
//@ check-pass
#[derive(PartialEq)]
struct A { x: usize }
struct A {
x: usize,
}
impl Drop for A {
fn drop(&mut self) {}
@@ -1,3 +1,4 @@
//! Regression test for https://github.com/rust-lang/rust/issues/18738.
//@ check-pass
#![allow(dead_code)]
#[derive(Eq, PartialEq, PartialOrd, Ord)]
@@ -8,7 +9,7 @@ enum Test<'a> {
#[derive(Eq, PartialEq, PartialOrd, Ord)]
struct Version {
vendor_info: &'static str
vendor_info: &'static str,
}
#[derive(Eq, PartialEq, PartialOrd, Ord)]
@@ -0,0 +1,11 @@
//! Regression test for https://github.com/rust-lang/rust/issues/15689.
//@ run-pass
#[derive(PartialEq, Debug, Clone)]
enum Test<'a> {
Slice(&'a isize),
}
fn main() {
assert_eq!(Test::Slice(&1), Test::Slice(&1))
}
@@ -1,8 +1,11 @@
//@ run-pass
//! Regression test for https://github.com/rust-lang/rust/issues/19358.
//@ check-pass
#![allow(dead_code)]
trait Trait { fn dummy(&self) { } }
trait Trait {
fn dummy(&self) {}
}
#[derive(Debug)]
struct Foo<T: Trait> {
@@ -10,7 +13,10 @@ struct Foo<T: Trait> {
}
#[derive(Debug)]
struct Bar<T> where T: Trait {
struct Bar<T>
where
T: Trait,
{
bar: T,
}
@@ -1,48 +1,48 @@
error: cannot find derive macro `Sync` in this scope
--> $DIR/deriving-bounds.rs:6:10
--> $DIR/no-send-sync-derives.rs:6:10
|
LL | #[derive(Sync)]
| ^^^^
|
note: unsafe traits like `Sync` should be implemented explicitly
--> $DIR/deriving-bounds.rs:6:10
--> $DIR/no-send-sync-derives.rs:6:10
|
LL | #[derive(Sync)]
| ^^^^
error: cannot find derive macro `Sync` in this scope
--> $DIR/deriving-bounds.rs:6:10
--> $DIR/no-send-sync-derives.rs:6:10
|
LL | #[derive(Sync)]
| ^^^^
|
note: unsafe traits like `Sync` should be implemented explicitly
--> $DIR/deriving-bounds.rs:6:10
--> $DIR/no-send-sync-derives.rs:6:10
|
LL | #[derive(Sync)]
| ^^^^
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: cannot find derive macro `Send` in this scope
--> $DIR/deriving-bounds.rs:1:10
--> $DIR/no-send-sync-derives.rs:1:10
|
LL | #[derive(Send)]
| ^^^^
|
note: unsafe traits like `Send` should be implemented explicitly
--> $DIR/deriving-bounds.rs:1:10
--> $DIR/no-send-sync-derives.rs:1:10
|
LL | #[derive(Send)]
| ^^^^
error: cannot find derive macro `Send` in this scope
--> $DIR/deriving-bounds.rs:1:10
--> $DIR/no-send-sync-derives.rs:1:10
|
LL | #[derive(Send)]
| ^^^^
|
note: unsafe traits like `Send` should be implemented explicitly
--> $DIR/deriving-bounds.rs:1:10
--> $DIR/no-send-sync-derives.rs:1:10
|
LL | #[derive(Send)]
| ^^^^
@@ -1,4 +1,5 @@
//@ run-pass
//! Regression test for https://github.com/rust-lang/rust/issues/58319.
//@ build-pass
fn main() {}
#[derive(Clone)]
pub struct Little;
-5
View File
@@ -1,5 +0,0 @@
//@ check-pass
#[derive(Copy, Clone)]
struct Test;
pub fn main() {}
-10
View File
@@ -1,10 +0,0 @@
//@ run-pass
#![allow(dead_code)]
// test for issue #30244
#[derive(Copy, Clone)]
struct Array {
arr: [[u8; 256]; 4]
}
pub fn main() {}
-13
View File
@@ -1,13 +0,0 @@
//@ run-pass
#![allow(dead_code)]
#[derive(Clone)]
enum E {
A,
B(()),
C
}
pub fn main() {
let _ = E::A.clone();
}
@@ -1,13 +0,0 @@
//@ run-pass
#![allow(dead_code)]
#[derive(Clone)]
enum E<T,U> {
A(T),
B(T,U),
C
}
pub fn main() {
let _ = E::A::<isize, isize>(1).clone();
}
@@ -1,14 +0,0 @@
//@ run-pass
#![allow(dead_code)]
#[derive(Clone)]
struct S<T> {
foo: (),
bar: (),
baz: T,
}
pub fn main() {
let _ = S { foo: (), bar: (), baz: 1 }.clone();
}
@@ -1,9 +0,0 @@
//@ run-pass
#[derive(Clone)]
#[allow(dead_code)]
struct S<T>(T, ());
pub fn main() {
let _ = S(1, ()).clone();
}
@@ -1,27 +0,0 @@
//@ run-pass
#![allow(dead_code)]
#[derive(Clone)]
struct S {
_int: isize,
_i8: i8,
_i16: i16,
_i32: i32,
_i64: i64,
_uint: usize,
_u8: u8,
_u16: u16,
_u32: u32,
_u64: u64,
_f32: f32,
_f64: f64,
_bool: bool,
_char: char,
_nil: ()
}
pub fn main() {}

Some files were not shown because too many files have changed in this diff Show More