blob: 115e6aad2f158ddf833e57cefa96e5773157730d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
// { dg-additional-options "-w" }
#![feature(intrinsics)]
#[lang = "sized"]
pub trait Sized {}
mod mem {
extern "rust-intrinsic" {
fn size_of<T>() -> usize;
fn transmute<U, V>(_: U) -> V;
}
}
impl u16 {
fn to_ne_bytes(self) -> [u8; mem::size_of::<Self>()] {
unsafe { mem::transmute(self) }
}
}
pub trait Hasher {
fn finish(&self) -> u64;
fn write(&mut self, bytes: &[u8]);
fn write_u8(&mut self, i: u8) {
self.write(&[i])
}
fn write_i8(&mut self, i: i8) {
self.write_u8(i as u8)
}
fn write_u16(&mut self, i: u16) {
self.write(&i.to_ne_bytes())
}
fn write_i16(&mut self, i: i16) {
self.write_u16(i as u16)
}
}
pub struct SipHasher;
impl Hasher for SipHasher {
#[inline]
fn write(&mut self, msg: &[u8]) {}
#[inline]
fn finish(&self) -> u64 {
0
}
}
|