diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-01-29 14:41:40 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-01-29 14:42:23 -0800 |
| commit | b07059056463272788042a263b6cf8eb8be2533a (patch) | |
| tree | 732c24f16156ae8302dde8a54de48aa433cb1803 /src/libsyntax/util | |
| parent | a80a65b3b7affa9b070785bf2dd34a25aea3932a (diff) | |
| download | rust-b07059056463272788042a263b6cf8eb8be2533a.tar.gz rust-b07059056463272788042a263b6cf8eb8be2533a.zip | |
libsyntax: De-export libsyntax. rs=deexporting
Diffstat (limited to 'src/libsyntax/util')
| -rw-r--r-- | src/libsyntax/util/interner.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs index 9de875485db..23db470391a 100644 --- a/src/libsyntax/util/interner.rs +++ b/src/libsyntax/util/interner.rs @@ -18,18 +18,16 @@ use core::dvec::DVec; use std::map::HashMap; use std::map; -type hash_interner<T> = - {map: HashMap<T, uint>, - vect: DVec<T>}; +pub type hash_interner<T> = {map: HashMap<T, uint>, vect: DVec<T>}; -fn mk<T:Eq IterBytes Hash Const Copy>() -> Interner<T> { +pub fn mk<T:Eq IterBytes Hash Const Copy>() -> Interner<T> { let m = map::HashMap::<T, uint>(); let hi: hash_interner<T> = {map: m, vect: DVec()}; move ((move hi) as Interner::<T>) } -fn mk_prefill<T:Eq IterBytes Hash Const Copy>(init: &[T]) -> Interner<T> { +pub fn mk_prefill<T:Eq IterBytes Hash Const Copy>(init: &[T]) -> Interner<T> { let rv = mk(); for init.each() |v| { rv.intern(*v); } return rv; @@ -37,14 +35,14 @@ fn mk_prefill<T:Eq IterBytes Hash Const Copy>(init: &[T]) -> Interner<T> { /* when traits can extend traits, we should extend index<uint,T> to get [] */ -trait Interner<T:Eq IterBytes Hash Const Copy> { +pub trait Interner<T:Eq IterBytes Hash Const Copy> { fn intern(T) -> uint; fn gensym(T) -> uint; pure fn get(uint) -> T; fn len() -> uint; } -impl <T:Eq IterBytes Hash Const Copy> hash_interner<T>: Interner<T> { +pub impl <T:Eq IterBytes Hash Const Copy> hash_interner<T>: Interner<T> { fn intern(val: T) -> uint { match self.map.find(val) { Some(idx) => return idx, @@ -74,13 +72,13 @@ impl <T:Eq IterBytes Hash Const Copy> hash_interner<T>: Interner<T> { #[test] #[should_fail] -fn i1 () { +pub fn i1 () { let i : Interner<@~str> = mk(); i.get(13); } #[test] -fn i2 () { +pub fn i2 () { let i : Interner<@~str> = mk(); // first one is zero: assert i.intern (@~"dog") == 0; @@ -105,7 +103,7 @@ fn i2 () { } #[test] -fn i3 () { +pub fn i3 () { let i : Interner<@~str> = mk_prefill([@~"Alan",@~"Bob",@~"Carol"]); assert i.get(0) == @~"Alan"; assert i.get(1) == @~"Bob"; |
