diff options
| author | bors <bors@rust-lang.org> | 2016-07-18 18:09:25 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-07-18 18:09:25 -0700 |
| commit | 8052f73d7b53d55781e49fc36e109312293a31d5 (patch) | |
| tree | 7bbbee90887b76f48d683362081e511a8be11363 /src/libcoretest | |
| parent | bbfcb471db0799a7d92d62e66cf44bbd68051675 (diff) | |
| parent | 9c5039a128ba2fa69eb979c314f158aa680ff6a2 (diff) | |
| download | rust-8052f73d7b53d55781e49fc36e109312293a31d5.tar.gz rust-8052f73d7b53d55781e49fc36e109312293a31d5.zip | |
Auto merge of #34879 - petrochenkov:fnptr, r=alexcrichton
Implement traits for variadic function pointers Closes https://github.com/rust-lang/rust/issues/34874 cc https://github.com/rust-lang/rust/pull/28268 r? @alexcrichton
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/ptr.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libcoretest/ptr.rs b/src/libcoretest/ptr.rs index 343db93d4a9..e0a9f4e5d42 100644 --- a/src/libcoretest/ptr.rs +++ b/src/libcoretest/ptr.rs @@ -171,3 +171,17 @@ fn test_unsized_unique() { let zs: &mut [i32] = &mut [1, 2, 3]; assert!(ys == zs); } + +#[test] +fn test_variadic_fnptr() { + use core::hash::{Hash, SipHasher}; + extern "C" { + fn printf(_: *const u8, ...); + } + let p: unsafe extern "C" fn(*const u8, ...) = printf; + let q = p.clone(); + assert_eq!(p, q); + assert!(!(p < q)); + let mut s = SipHasher::new(); + assert_eq!(p.hash(&mut s), q.hash(&mut s)); +} |
