diff options
| author | Mathieu Borderé <mathieu@Mathieus-MacBook-Pro.local> | 2016-10-05 23:17:58 +0200 |
|---|---|---|
| committer | Mathieu Borderé <mathieu@Mathieus-MacBook-Pro.local> | 2016-10-05 23:17:58 +0200 |
| commit | 4b5a9a37066e3d879c061cdd58bd05ffe4554244 (patch) | |
| tree | 4d0b228da5b19284170349c0cda9214eab602f31 | |
| parent | 14fe7ce9dc7fa9b4a1737d8abffa4a9cf0d76c0b (diff) | |
| download | rust-4b5a9a37066e3d879c061cdd58bd05ffe4554244.tar.gz rust-4b5a9a37066e3d879c061cdd58bd05ffe4554244.zip | |
ICH: update saw_ty for TyBareFn; Update tests for functioninterfaces
| -rw-r--r-- | src/librustc_incremental/calculate_svh/svh_visitor.rs | 7 | ||||
| -rw-r--r-- | src/test/incremental/hashes/function_interfaces.rs | 28 |
2 files changed, 28 insertions, 7 deletions
diff --git a/src/librustc_incremental/calculate_svh/svh_visitor.rs b/src/librustc_incremental/calculate_svh/svh_visitor.rs index 59226c83cea..9aa55dc582e 100644 --- a/src/librustc_incremental/calculate_svh/svh_visitor.rs +++ b/src/librustc_incremental/calculate_svh/svh_visitor.rs @@ -349,7 +349,7 @@ enum SawTyComponent { SawTyArray, SawTyPtr(Mutability), SawTyRptr(Mutability), - SawTyBareFn, + SawTyBareFn(Unsafety, Abi), SawTyNever, SawTyTup, SawTyPath, @@ -366,7 +366,10 @@ fn saw_ty(node: &Ty_) -> SawTyComponent { TyArray(..) => SawTyArray, TyPtr(ref mty) => SawTyPtr(mty.mutbl), TyRptr(_, ref mty) => SawTyRptr(mty.mutbl), - TyBareFn(..) => SawTyBareFn, + TyBareFn(ref barefnty) => { + let ref fnty = *barefnty; + SawTyBareFn(fnty.unsafety, fnty.abi) + }, TyNever => SawTyNever, TyTup(..) => SawTyTup, TyPath(..) => SawTyPath, diff --git a/src/test/incremental/hashes/function_interfaces.rs b/src/test/incremental/hashes/function_interfaces.rs index 50f3729f1c6..93d94cd1a19 100644 --- a/src/test/incremental/hashes/function_interfaces.rs +++ b/src/test/incremental/hashes/function_interfaces.rs @@ -84,14 +84,14 @@ fn type_of_parameter_ref(p: &mut i32) {} // Change Parameter Order ------------------------------------------------------ #[cfg(cfail1)] -fn order_of_parameters(p1: i32, p2: i32) {} +fn order_of_parameters(p1: i32, p2: i64) {} #[cfg(not(cfail1))] #[rustc_dirty(label="Hir", cfg="cfail2")] #[rustc_clean(label="Hir", cfg="cfail3")] #[rustc_metadata_dirty(cfg="cfail2")] #[rustc_metadata_clean(cfg="cfail3")] -fn order_of_parameters(p2: i32, p1: i32) {} +fn order_of_parameters(p2: i64, p1: i32) {} // Unsafe ---------------------------------------------------------------------- @@ -188,7 +188,7 @@ fn builtin_bound<T: Send>() {} // Lifetime Bound -------------------------------------------------------------- #[cfg(cfail1)] -fn lifetime_bound<T>() {} +fn lifetime_bound<'a, T>() {} #[cfg(not(cfail1))] #[rustc_dirty(label="Hir", cfg="cfail2")] @@ -227,7 +227,7 @@ fn second_builtin_bound<T: Send + Sized>() {} // Second Lifetime Bound ------------------------------------------------------- #[cfg(cfail1)] -fn second_lifetime_bound<'a, T: 'a>() {} +fn second_lifetime_bound<'a, 'b, T: 'a>() {} #[cfg(not(cfail1))] #[rustc_dirty(label="Hir", cfg="cfail2")] @@ -254,6 +254,7 @@ fn inline() {} // Inline Never ---------------------------------------------------------------- #[cfg(cfail1)] +#[inline(always)] fn inline_never() {} #[cfg(not(cfail1))] @@ -289,7 +290,7 @@ fn linkage() {} #[rustc_clean(label="Hir", cfg="cfail3")] #[rustc_metadata_dirty(cfg="cfail2")] #[rustc_metadata_clean(cfg="cfail3")] -#[linkage] +#[linkage="weak_odr"] fn linkage() {} @@ -310,6 +311,23 @@ fn return_impl_trait() -> impl Clone { } +// Change Return Impl Trait ---------------------------------------------------- + +#[cfg(cfail1)] +fn change_return_impl_trait() -> impl Clone { + 0 +} + +#[cfg(not(cfail1))] +#[rustc_dirty(label="Hir", cfg="cfail2")] +#[rustc_clean(label="Hir", cfg="cfail3")] +#[rustc_metadata_dirty(cfg="cfail2")] +#[rustc_metadata_clean(cfg="cfail3")] +fn change_return_impl_trait() -> impl Copy { + 0 +} + + // Change Return Type Indirectly ----------------------------------------------- struct ReferencedType1; |
