check against more collisions for TypeId of fn pointer
This commit is contained in:
parent
534b42394d
commit
4dd96d2b0f
1 changed files with 14 additions and 4 deletions
|
|
@ -78,10 +78,20 @@ pub fn main() {
|
|||
assert_eq!(TypeId::of::<other1::U32Iterator>(), other1::id_u32_iterator());
|
||||
assert_eq!(other1::id_i32_iterator(), other2::id_i32_iterator());
|
||||
assert_eq!(other1::id_u32_iterator(), other2::id_u32_iterator());
|
||||
assert!(other1::id_i32_iterator() != other1::id_u32_iterator());
|
||||
assert!(TypeId::of::<other1::I32Iterator>() != TypeId::of::<other1::U32Iterator>());
|
||||
assert_ne!(other1::id_i32_iterator(), other1::id_u32_iterator());
|
||||
assert_ne!(TypeId::of::<other1::I32Iterator>(), TypeId::of::<other1::U32Iterator>());
|
||||
|
||||
// Check fn pointer against collisions
|
||||
assert!(TypeId::of::<fn(fn(A) -> A) -> A>() !=
|
||||
TypeId::of::<fn(fn() -> A, A) -> A>());
|
||||
assert_ne!(
|
||||
TypeId::of::<fn(fn(A) -> A) -> A>(),
|
||||
TypeId::of::<fn(fn() -> A, A) -> A>()
|
||||
);
|
||||
assert_ne!(
|
||||
TypeId::of::<for<'a> fn(&'a i32) -> &'a i32>(),
|
||||
TypeId::of::<for<'a> fn(&'a i32) -> &'static i32>()
|
||||
);
|
||||
assert_ne!(
|
||||
TypeId::of::<for<'a, 'b> fn(&'a i32, &'b i32) -> &'a i32>(),
|
||||
TypeId::of::<for<'a, 'b> fn(&'b i32, &'a i32) -> &'a i32>()
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue