diff --git a/src/libcore/any.rs b/src/libcore/any.rs index ed743f40a4bc..2657cd534837 100644 --- a/src/libcore/any.rs +++ b/src/libcore/any.rs @@ -263,6 +263,14 @@ fn test_show() { let s = format!("{}", b); assert_eq!(s.as_slice(), "&Any"); } + + #[test] + fn any_fixed_vec() { + let test = [0u, ..8]; + let test = &test as &Any; + assert!(test.is::<[uint, ..8]>()); + assert!(!test.is::<[uint, ..10]>()); + } } #[cfg(test)] diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index e3d94c73bb4e..485011e1cb39 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -4514,9 +4514,10 @@ pub fn hash_crate_independent(tcx: &ctxt, t: t, svh: &Svh) -> u64 { ty_uniq(_) => { byte!(10); } - ty_vec(m, Some(_)) => { + ty_vec(m, Some(n)) => { byte!(11); mt(&mut state, m); + n.hash(&mut state); 1u8.hash(&mut state); } ty_vec(m, None) => {