diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/incremental/hashes/trait_impls.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/incremental/hashes/trait_impls.rs')
-rw-r--r-- | src/test/incremental/hashes/trait_impls.rs | 620 |
1 files changed, 0 insertions, 620 deletions
diff --git a/src/test/incremental/hashes/trait_impls.rs b/src/test/incremental/hashes/trait_impls.rs deleted file mode 100644 index f555f555f..000000000 --- a/src/test/incremental/hashes/trait_impls.rs +++ /dev/null @@ -1,620 +0,0 @@ -// This test case tests the incremental compilation hash (ICH) implementation -// for let expressions. - -// The general pattern followed here is: Change one thing between rev1 and rev2 -// 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: cfail1 cfail2 cfail3 cfail4 cfail5 cfail6 -// compile-flags: -Z query-dep-graph -O -// [cfail1]compile-flags: -Zincremental-ignore-spans -// [cfail2]compile-flags: -Zincremental-ignore-spans -// [cfail3]compile-flags: -Zincremental-ignore-spans -// [cfail4]compile-flags: -Zincremental-relative-spans -// [cfail5]compile-flags: -Zincremental-relative-spans -// [cfail6]compile-flags: -Zincremental-relative-spans - -#![allow(warnings)] -#![feature(rustc_attrs)] -#![feature(specialization)] -#![crate_type="rlib"] - -struct Foo; - -// Change Method Name ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait ChangeMethodNameTrait { - fn method_name(); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeMethodNameTrait for Foo { - fn method_name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -pub trait ChangeMethodNameTrait { - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(cfg="cfail6")] - fn method_name2(); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeMethodNameTrait for Foo { - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(cfg="cfail6")] - fn method_name2() { } -} - -// Change Method Body ----------------------------------------------------------- -// -// This should affect the method itself, but not the impl. - -pub trait ChangeMethodBodyTrait { - fn method_name(); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeMethodBodyTrait for Foo { - // ---------------------------------------------------------- - // ------------------------- - // ---------------------------------------------------------- - // ------------------------- - fn method_name() { - // - } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeMethodBodyTrait for Foo { - #[rustc_clean(except="hir_owner_nodes,typeck", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner_nodes,typeck", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn method_name() { - () - } -} - -// Change Method Body (inlined fn) --------------------------------------------- -// -// This should affect the method itself, but not the impl. - -pub trait ChangeMethodBodyTraitInlined { - fn method_name(); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeMethodBodyTraitInlined for Foo { - // ------------------------------------------------------------------------ - // ------------------------- - // ------------------------------------------------------------------------ - // ------------------------- - #[inline] - fn method_name() { - // ----- - } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeMethodBodyTraitInlined for Foo { - #[rustc_clean(except="hir_owner_nodes,typeck,optimized_mir", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner_nodes,typeck,optimized_mir", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - #[inline] - fn method_name() { - panic!() - } -} - -// Change Method Selfness ------------------------------------------------------ - -#[cfg(any(cfail1,cfail4))] -pub trait ChangeMethodSelfnessTrait { - fn method_name(); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeMethodSelfnessTrait for Foo { - fn method_name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait ChangeMethodSelfnessTrait { - fn method_name(&self); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeMethodSelfnessTrait for Foo { - #[rustc_clean( - except="hir_owner,hir_owner_nodes,associated_item,generics_of,fn_sig,typeck,optimized_mir", - cfg="cfail2", - )] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean( - except="hir_owner,hir_owner_nodes,associated_item,generics_of,fn_sig,typeck,optimized_mir", - cfg="cfail5", - )] - #[rustc_clean(cfg="cfail6")] - fn method_name(&self) { - () - } -} - -// Change Method Selfness ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait RemoveMethodSelfnessTrait { - fn method_name(&self); -} - -#[cfg(any(cfail1,cfail4))] -impl RemoveMethodSelfnessTrait for Foo { - fn method_name(&self) { } -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait RemoveMethodSelfnessTrait { - fn method_name(); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl RemoveMethodSelfnessTrait for Foo { - #[rustc_clean( - except="hir_owner,hir_owner_nodes,associated_item,generics_of,fn_sig,typeck,optimized_mir", - cfg="cfail2", - )] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean( - except="hir_owner,hir_owner_nodes,associated_item,generics_of,fn_sig,typeck,optimized_mir", - cfg="cfail5", - )] - #[rustc_clean(cfg="cfail6")] - fn method_name() {} -} - -// Change Method Selfmutness ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait ChangeMethodSelfmutnessTrait { - fn method_name(&self); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeMethodSelfmutnessTrait for Foo { - // ----------------------------------------------------------------------------------------- - // ------------------------- - // ----------------------------------------------------------------------------------------- - // ------------------------- - fn method_name(& self) {} -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait ChangeMethodSelfmutnessTrait { - fn method_name(&mut self); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeMethodSelfmutnessTrait for Foo { - #[rustc_clean(except="hir_owner,hir_owner_nodes,fn_sig,typeck,optimized_mir", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner,hir_owner_nodes,fn_sig,typeck,optimized_mir", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn method_name(&mut self) {} -} - -// Change item kind ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait ChangeItemKindTrait { - fn name(); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeItemKindTrait for Foo { - fn name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait ChangeItemKindTrait { - type name; -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeItemKindTrait for Foo { - type name = (); -} - -// Remove item ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait RemoveItemTrait { - type TypeName; - fn method_name(); -} - -#[cfg(any(cfail1,cfail4))] -impl RemoveItemTrait for Foo { - type TypeName = (); - fn method_name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait RemoveItemTrait { - type TypeName; -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl RemoveItemTrait for Foo { - type TypeName = (); -} - -// Add item ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait AddItemTrait { - type TypeName; -} - -#[cfg(any(cfail1,cfail4))] -impl AddItemTrait for Foo { - type TypeName = (); -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait AddItemTrait { - type TypeName; - fn method_name(); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,associated_item_def_ids", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl AddItemTrait for Foo { - type TypeName = (); - fn method_name() { } -} - -// Change has-value ----------------------------------------------------------- - -#[cfg(any(cfail1,cfail4))] -pub trait ChangeHasValueTrait { - //-------------------------------------------------------------- - //-------------------------- - //-------------------------------------------------------------- - //-------------------------- - fn method_name() ; -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeHasValueTrait for Foo { - fn method_name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner_nodes", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner_nodes", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -pub trait ChangeHasValueTrait { - #[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn method_name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeHasValueTrait for Foo { - fn method_name() { } -} - -// Add default - -pub trait AddDefaultTrait { - fn method_name(); -} - -#[cfg(any(cfail1,cfail4))] -impl AddDefaultTrait for Foo { - // ------------------------------------------------------------- - // ------------------------- - // ------------------------------------------------------------- - // ------------------------- - fn method_name() { } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl AddDefaultTrait for Foo { - #[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - default fn method_name() { } -} - -// Add arguments - -#[cfg(any(cfail1,cfail4))] -pub trait AddArgumentTrait { - fn method_name(&self); -} - -#[cfg(any(cfail1,cfail4))] -impl AddArgumentTrait for Foo { - // ----------------------------------------------------------------------------------------- - // ------------------------- - // ----------------------------------------------------------------------------------------- - // ------------------------- - fn method_name(&self ) { } -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait AddArgumentTrait { - fn method_name(&self, x: u32); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl AddArgumentTrait for Foo { - #[rustc_clean(except="hir_owner,hir_owner_nodes,fn_sig,typeck,optimized_mir", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner,hir_owner_nodes,fn_sig,typeck,optimized_mir", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn method_name(&self, _x: u32) { } -} - -// Change argument type - -#[cfg(any(cfail1,cfail4))] -pub trait ChangeArgumentTypeTrait { - fn method_name(&self, x: u32); -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeArgumentTypeTrait for Foo { - // ----------------------------------------------------------------------------------------- - // ------------------------- - // ----------------------------------------------------------------------------------------- - // ------------------------- - fn method_name(&self, _x: u32 ) { } -} - -#[cfg(not(any(cfail1,cfail4)))] -pub trait ChangeArgumentTypeTrait { - fn method_name(&self, x: char); -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeArgumentTypeTrait for Foo { - #[rustc_clean(except="hir_owner,hir_owner_nodes,fn_sig,typeck,optimized_mir", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="hir_owner,hir_owner_nodes,fn_sig,typeck,optimized_mir", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn method_name(&self, _x: char) { } -} - - - -struct Bar<T>(T); - -// Add Type Parameter To Impl -------------------------------------------------- -trait AddTypeParameterToImpl<T> { - fn id(t: T) -> T; -} - -#[cfg(any(cfail1,cfail4))] -impl AddTypeParameterToImpl<u32> for Bar<u32> { - fn id(t: u32) -> u32 { t } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,generics_of,impl_trait_ref", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,generics_of,impl_trait_ref", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl<TTT> AddTypeParameterToImpl<TTT> for Bar<TTT> { - #[rustc_clean( - except="hir_owner,hir_owner_nodes,generics_of,fn_sig,type_of,typeck,optimized_mir", - cfg="cfail2", - )] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean( - except="hir_owner,hir_owner_nodes,generics_of,fn_sig,type_of,typeck,optimized_mir", - cfg="cfail5", - )] - #[rustc_clean(cfg="cfail6")] - fn id(t: TTT) -> TTT { t } -} - - - -// Change Self Type of Impl ---------------------------------------------------- -trait ChangeSelfTypeOfImpl { - fn id(self) -> Self; -} - -#[cfg(any(cfail1,cfail4))] -impl ChangeSelfTypeOfImpl for u32 { - fn id(self) -> Self { self } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes,impl_trait_ref", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes,impl_trait_ref", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl ChangeSelfTypeOfImpl for u64 { - #[rustc_clean(except="fn_sig,typeck,optimized_mir", cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(except="fn_sig,typeck,optimized_mir", cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn id(self) -> Self { self } -} - - - -// Add Lifetime Bound to Impl -------------------------------------------------- -trait AddLifetimeBoundToImplParameter { - fn id(self) -> Self; -} - -#[cfg(any(cfail1,cfail4))] -impl<T> AddLifetimeBoundToImplParameter for T { - fn id(self) -> Self { self } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl<T: 'static> AddLifetimeBoundToImplParameter for T { - #[rustc_clean(cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn id(self) -> Self { self } -} - - - -// Add Trait Bound to Impl Parameter ------------------------------------------- -trait AddTraitBoundToImplParameter { - fn id(self) -> Self; -} - -#[cfg(any(cfail1,cfail4))] -impl<T> AddTraitBoundToImplParameter for T { - fn id(self) -> Self { self } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(except="hir_owner,hir_owner_nodes", cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl<T: Clone> AddTraitBoundToImplParameter for T { - #[rustc_clean(cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - fn id(self) -> Self { self } -} - - - -// Add #[no_mangle] to Method -------------------------------------------------- -trait AddNoMangleToMethod { - fn add_no_mangle_to_method(&self) { } -} - -#[cfg(any(cfail1,cfail4))] -impl AddNoMangleToMethod for Foo { - // ------------------------- - // ------------------------- - // ------------------------- - // ------------------------- - // --------- - fn add_no_mangle_to_method(&self) { } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl AddNoMangleToMethod for Foo { - #[rustc_clean(cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - #[no_mangle] - fn add_no_mangle_to_method(&self) { } -} - - -// Make Method #[inline] ------------------------------------------------------- -trait MakeMethodInline { - fn make_method_inline(&self) -> u8 { 0 } -} - -#[cfg(any(cfail1,cfail4))] -impl MakeMethodInline for Foo { - // ------------------------- - // ------------------------- - // ------------------------- - // ------------------------- - // ------ - fn make_method_inline(&self) -> u8 { 0 } -} - -#[cfg(not(any(cfail1,cfail4)))] -#[rustc_clean(cfg="cfail2")] -#[rustc_clean(cfg="cfail3")] -#[rustc_clean(cfg="cfail5")] -#[rustc_clean(cfg="cfail6")] -impl MakeMethodInline for Foo { - #[rustc_clean(cfg="cfail2")] - #[rustc_clean(cfg="cfail3")] - #[rustc_clean(cfg="cfail5")] - #[rustc_clean(cfg="cfail6")] - #[inline] - fn make_method_inline(&self) -> u8 { 0 } -} |