mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-31 05:26:23 +03:00
cc7590341a
This commit deletes the `alloc_system` crate from the standard distribution. This unstable crate is no longer needed in the modern stable global allocator world, but rather its functionality is folded directly into the standard library. The standard library was already the only stable location to access this crate, and as a result this should not affect any stable code.
63 lines
1.6 KiB
Rust
63 lines
1.6 KiB
Rust
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
|
// file at the top-level directory of this distribution and at
|
|
// http://rust-lang.org/COPYRIGHT.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
// option. This file may not be copied, modified, or distributed
|
|
// except according to those terms.
|
|
|
|
#![feature(allocator_api)]
|
|
#![feature(box_syntax)]
|
|
#![feature(drain_filter)]
|
|
#![feature(exact_size_is_empty)]
|
|
#![feature(pattern)]
|
|
#![feature(slice_sort_by_cached_key)]
|
|
#![feature(str_escape)]
|
|
#![feature(try_reserve)]
|
|
#![feature(unboxed_closures)]
|
|
#![feature(repeat_generic_slice)]
|
|
|
|
extern crate core;
|
|
extern crate rand;
|
|
|
|
use std::hash::{Hash, Hasher};
|
|
use std::collections::hash_map::DefaultHasher;
|
|
|
|
mod arc;
|
|
mod binary_heap;
|
|
mod btree;
|
|
mod cow_str;
|
|
mod fmt;
|
|
mod heap;
|
|
mod linked_list;
|
|
mod rc;
|
|
mod slice;
|
|
mod str;
|
|
mod string;
|
|
mod vec_deque;
|
|
mod vec;
|
|
|
|
fn hash<T: Hash>(t: &T) -> u64 {
|
|
let mut s = DefaultHasher::new();
|
|
t.hash(&mut s);
|
|
s.finish()
|
|
}
|
|
|
|
// FIXME: Instantiated functions with i128 in the signature is not supported in Emscripten.
|
|
// See https://github.com/kripken/emscripten-fastcomp/issues/169
|
|
#[cfg(not(target_os = "emscripten"))]
|
|
#[test]
|
|
fn test_boxed_hasher() {
|
|
let ordinary_hash = hash(&5u32);
|
|
|
|
let mut hasher_1 = Box::new(DefaultHasher::new());
|
|
5u32.hash(&mut hasher_1);
|
|
assert_eq!(ordinary_hash, hasher_1.finish());
|
|
|
|
let mut hasher_2 = Box::new(DefaultHasher::new()) as Box<dyn Hasher>;
|
|
5u32.hash(&mut hasher_2);
|
|
assert_eq!(ordinary_hash, hasher_2.finish());
|
|
}
|