about summary refs log tree commit diff
path: root/src/libcore/hash
AgeCommit message (Collapse)AuthorLines
2019-09-25Snap cfgs to new betaMark Rousskov-1/+0
2019-09-23Move `--cfg bootstrap` out of `rustc.rs`Alex Crichton-1/+1
Instead let's do this via `RUSTFLAGS` in `builder.rs`. Currently requires a submodule update of `stdarch` to fix a problem with previous compilers.
2019-08-17Make built-in derives opaque macrosMatthew Jasper-1/+1
2019-08-14Auto merge of #63534 - Mark-Simulacrum:stage0-bump, r=Centrilbors-2/+0
Bump to 1.39 r? @Centril
2019-08-14Handle cfg(bootstrap) throughoutMark Rousskov-2/+0
2019-08-09Remove unneeded comment in src/libcore/hash/mod.rssd234678-2/+0
2019-08-10Give built-in macros stable addresses in the standard libraryVadim Petrochenkov-0/+15
2019-06-23Fix meta-variable binding errors in macrosJulien Cretin-3/+3
The errors are either: - The meta-variable used in the right-hand side is not bound (or defined) in the left-hand side. - The meta-variable used in the right-hand side does not repeat with the same kleene operator as its binder in the left-hand side. Either it does not repeat enough, or it uses a different operator somewhere. This change should have no semantic impact.
2019-04-19libcore: deny more...Mazdak Farrokhzad-1/+1
2019-04-18libcore => 2018Taiki Endo-9/+10
2019-04-15Hasher: replace unsafe trasmute with to_ne_bytesStepan Koltsov-14/+10
Spead the knowledge of `to_ne_bytes` functions existence.
2019-02-10libs: doc commentsAlexander Regueiro-3/+3
2019-01-28libcore: remove unneeded allow(deprecated)Ralf Jung-1/+1
2018-12-25Remove licensesMark Rousskov-20/+0
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-1/+1
2018-09-29Use impl_header_lifetime_elision in libcoreScott McMurray-3/+3
2018-07-15impl PartialEq+Eq for BuildHasherDefaultMarco Neumann-0/+10
2018-06-14impl Hash for !Clar Charr-0/+7
2018-03-26Fix a few more unstables that I missedMark Mansi-2/+2
2018-03-17Mark deprecated unstable SipHasher13 as a doc-hidden impl detail of HashMap.Simon Sapin-6/+8
It stays in libcore rather than being private in HashMap’s module because it shares code with the deprecated *stable* `SipHasher` type.
2018-03-17Make the deprecated unstable SipHasher24 type private.Simon Sapin-40/+7
It is still used by the deprecated *stable* `SipHasher` type.
2017-11-10Fix broken link markup in Hasher::finish docsLukas H-1/+1
There were apostrophes when there needed to be backticks.
2017-10-25Implement Hash for raw pointers to unsized typesMatt Brubeck-4/+24
2017-10-20Fix most rendering warnings from switching to CommonMarksteveklabnik-3/+3
2017-10-16rustc_data_structures: Add implementation of 128 bit SipHash.Michael Woerister-0/+1
2017-09-12impl Hasher for {&mut Hasher, Box<Hasher>}kennytm-0/+46
2017-08-16Document that std::hash::Hasher::finish() does not reset the hasher.Martin Hoffmann-1/+8
2017-07-20std: Cut down #[inline] annotations where not necessaryAlex Crichton-1/+1
This PR cuts down on a large number of `#[inline(always)]` and `#[inline]` annotations in libcore for various core functions. The `#[inline(always)]` annotation is almost never needed and is detrimental to debug build times as it forces LLVM to perform inlining when it otherwise wouldn't need to in debug builds. Additionally `#[inline]` is an unnecessary annoation on almost all generic functions because the function will already be monomorphized into other codegen units and otherwise rarely needs the extra "help" from us to tell LLVM to inline something. Overall this PR cut the compile time of a [microbenchmark][1] by 30% from 1s to 0.7s. [1]: https://gist.github.com/alexcrichton/a7d70319a45aa60cf36a6a7bf540dd3a
2017-07-02Implement Eq/Hash/Debug etc. for unsized tuples.Masaki Hara-1/+6
2017-06-16Introduce tidy lint to check for inconsistent tracking issuesest31-1/+1
This commit * Refactors the collect_lib_features function to work in a non-checking mode (no bad pointer needed, and list of lang features). * Introduces checking whether unstable/stable tags for a given feature have inconsistent tracking issues. * Fixes such inconsistencies throughout the codebase.
2017-05-02Removal pass for anonymous parametersest31-2/+2
Removes occurences of anonymous parameters from the rustc codebase, as they are to be deprecated. See issue #41686 and RFC 1685.
2017-04-10Fixed indent, grammar, and link in std::hash docslukaramu-4/+4
2017-04-07improved std::hash::Hasher docslukaramu-2/+57
Part of #29357. * rephrased summary sentences to be less redundant * expanded top-level docs, adding a usage example and links to relevant methods (`finish`, `write` etc) as well as `Hash` * added examples to the `finish` and `write` methods
2017-04-06improved std::hash::Hash docslukaramu-22/+61
Part of #29357. * merged "Derivable" and "How can I implement `Hash`?" sections into one "Implementing `Hash`" section to aid coherency * added an example for `#[derive(Hash)]` * moved part about relation between `Hash` and `Eq` into a new "`Hash` and `Eq`" section; changed wording to be more consistent with `HashMap` and `HashSet`'s * explicitly mentioned `#[derive(PartialEq, Eq, Hash)]` in the new section * changed method summaries for consistency, adding links and examples
2017-04-06improved std::hash::BuildHasher docslukaramu-5/+33
Part of #29357. * split summary and explanation more clearly, while expanding the explanation to make the reason for `BuildHasher` existing more clear * added an example illustrating that `Hasher`s created by one `BuildHasher` should be identical * added links * repeated the fact that hashers produced should be identical in `build_hasher`s method docs
2017-04-06rephrased std::hash::BuildHasherDefault docslukaramu-4/+13
Part of #29357. * split summary and explanation more clearly * added link to nomicon for "zero-sized" * "does not need construction" -> say how it can be created, and that it doesn't need to be done with `HashMap` or `HashSet`
2017-03-17Rollup merge of #40505 - frewsxcv:hash-docs, r=alexcrichtonCorey Farwell-13/+31
A few improvements to the `core::hash` top-level docs. Primarily opened to address the concerns brought up in https://github.com/rust-lang/rust/issues/40498. * run rustfmt on code blocks * use `DefaultHasher` instead of deprecated `SipHasher` * rename `hash` to `calculate_hash` to prevent confusion with the `hash` method
2017-03-14A few improvements to the `core::hash` top-level docs.Corey Farwell-13/+31
Primarily opened to address the concerns brought up in https://github.com/rust-lang/rust/issues/40498. * run rustfmt on code blocks * use `DefaultHasher` instead of deprecated `SipHasher` * rename `hash` to `calculate_hash` to prevent confusion with the `hash` method
2017-03-13Remove function invokation parens from documentation links.Corey Farwell-2/+2
This was never established as a convention we should follow in the 'More API Documentation Conventions' RFC: https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md
2017-02-03Bump version, upgrade bootstrapAlex Crichton-5/+0
This commit updates the version number to 1.17.0 as we're not on that version of the nightly compiler, and at the same time this updates src/stage0.txt to bootstrap from freshly minted beta compiler and beta Cargo.
2017-01-27Fix a few links in the docsOliver Middleton-0/+1
2016-12-30Such large. Very 128. Much bits.Simonas Kazlauskas-0/+19
This commit introduces 128-bit integers. Stage 2 builds and produces a working compiler which understands and supports 128-bit integers throughout. The general strategy used is to have rustc_i128 module which provides aliases for iu128, equal to iu64 in stage9 and iu128 later. Since nowhere in rustc we rely on large numbers being supported, this strategy is good enough to get past the first bootstrap stages to end up with a fully working 128-bit capable compiler. In order for this strategy to work, number of locations had to be changed to use associated max_value/min_value instead of MAX/MIN constants as well as the min_value (or was it max_value?) had to be changed to use xor instead of shift so both 64-bit and 128-bit based consteval works (former not necessarily producing the right results in stage1). This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-12-16Rewrite, improve documentation for `core::hash::BuildHasherDefault`.Corey Farwell-3/+37
Fixes https://github.com/rust-lang/rust/issues/31242.
2016-11-04reference full path `DefaultHasher`Liigo Zhuang-9/+18
2016-10-25Small improvement to SipHasherarthurprs-50/+97
2016-10-14Rollup merge of #36961 - GuillaumeGomez:hash_doc, r=frewsxcvJonathan Turner-15/+22
Add missing urls for hash modules r? @steveklabnik
2016-10-08Add missing urls for hash modulesGuillaume Gomez-15/+22
2016-10-04update sip.rs for new intrinsics and defaultsEric Roshan-Eisner-14/+9
2016-10-03std: Stabilize and deprecate APIs for 1.13Alex Crichton-1/+13
This commit is intended to be backported to the 1.13 branch, and works with the following APIs: Stabilized * `i32::checked_abs` * `i32::wrapping_abs` * `i32::overflowing_abs` * `RefCell::try_borrow` * `RefCell::try_borrow_mut` * `DefaultHasher` * `DefaultHasher::new` * `DefaultHasher::default` Deprecated * `BinaryHeap::push_pop` * `BinaryHeap::replace` * `SipHash13` * `SipHash24` * `SipHasher` - use `DefaultHasher` instead in the `std::collections::hash_map` module Closes #28147 Closes #34767 Closes #35057 Closes #35070
2016-09-11Documentation of what does for each typeathulappadan-0/+1