auto merge of #5696 : thestinger/rust/hashmap, r=sanxiyn
This naming is free now that `oldmap` has finally been removed, so this is a search-and-replace to take advantage of that. It might as well be called `HashMap` instead of being named after the specific implementation, since there's only one. SipHash distributes keys so well that I don't think there will ever be much need to use anything but a simple hash table with open addressing. If there *is* a better way to do it, it will probably be better in all cases and can just be the default implementation. A cuckoo-hashing implementation combining a weaker hash with SipHash could be useful, but that won't be as general purpose - you would need to write a separate fast hash function specialized for the type to really take advantage of it (like taking a page from libstdc++/libc++ and just using the integer value as the "hash"). I think a more specific naming for a truly alternative implementation like that would be fine, with the nice naming reserved for the general purpose container.
This commit is contained in:
commit
5b933aeba2
76 changed files with 1394 additions and 1398 deletions
|
@ -94,7 +94,7 @@ use opt_vec::OptVec;
|
|||
|
||||
use core::either::Either;
|
||||
use core::either;
|
||||
use core::hashmap::linear::LinearSet;
|
||||
use core::hashmap::HashSet;
|
||||
use core::vec;
|
||||
|
||||
#[deriving(Eq)]
|
||||
|
@ -243,7 +243,7 @@ pub fn Parser(sess: @mut ParseSess,
|
|||
keywords: token::keyword_table(),
|
||||
strict_keywords: token::strict_keyword_table(),
|
||||
reserved_keywords: token::reserved_keyword_table(),
|
||||
obsolete_set: @mut LinearSet::new(),
|
||||
obsolete_set: @mut HashSet::new(),
|
||||
mod_path_stack: @mut ~[],
|
||||
}
|
||||
}
|
||||
|
@ -263,12 +263,12 @@ pub struct Parser {
|
|||
quote_depth: @mut uint, // not (yet) related to the quasiquoter
|
||||
reader: @reader,
|
||||
interner: @token::ident_interner,
|
||||
keywords: LinearSet<~str>,
|
||||
strict_keywords: LinearSet<~str>,
|
||||
reserved_keywords: LinearSet<~str>,
|
||||
keywords: HashSet<~str>,
|
||||
strict_keywords: HashSet<~str>,
|
||||
reserved_keywords: HashSet<~str>,
|
||||
/// The set of seen errors about obsolete syntax. Used to suppress
|
||||
/// extra detail when the same error is seen twice
|
||||
obsolete_set: @mut LinearSet<ObsoleteSyntax>,
|
||||
obsolete_set: @mut HashSet<ObsoleteSyntax>,
|
||||
/// Used to determine the path to externally loaded source files
|
||||
mod_path_stack: @mut ~[~str],
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue