summary refs log tree commit diff
path: root/src/libsyntax/util
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-01-29 14:41:40 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-01-29 14:42:23 -0800
commitb07059056463272788042a263b6cf8eb8be2533a (patch)
tree732c24f16156ae8302dde8a54de48aa433cb1803 /src/libsyntax/util
parenta80a65b3b7affa9b070785bf2dd34a25aea3932a (diff)
downloadrust-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.rs18
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";