Port the compiler to foo<T> decl syntax.
This commit is contained in:
parent
4c9049c50c
commit
4abc471390
20 changed files with 77 additions and 77 deletions
|
|
@ -10,18 +10,18 @@ import std::option;
|
|||
import std::option::none;
|
||||
import std::option::some;
|
||||
|
||||
type interner[T] =
|
||||
type interner<T> =
|
||||
{map: hashmap<T, uint>,
|
||||
mutable vect: [T],
|
||||
hasher: hashfn<T>,
|
||||
eqer: eqfn<T>};
|
||||
|
||||
fn mk[@T](hasher: hashfn<T>, eqer: eqfn<T>) -> interner<T> {
|
||||
fn mk<@T>(hasher: hashfn<T>, eqer: eqfn<T>) -> interner<T> {
|
||||
let m = map::mk_hashmap[T, uint](hasher, eqer);
|
||||
ret {map: m, mutable vect: ~[], hasher: hasher, eqer: eqer};
|
||||
}
|
||||
|
||||
fn intern[@T](itr: &interner<T>, val: &T) -> uint {
|
||||
fn intern<@T>(itr: &interner<T>, val: &T) -> uint {
|
||||
alt itr.map.find(val) {
|
||||
some(idx) { ret idx; }
|
||||
none. {
|
||||
|
|
@ -33,7 +33,7 @@ fn intern[@T](itr: &interner<T>, val: &T) -> uint {
|
|||
}
|
||||
}
|
||||
|
||||
fn get[T](itr: &interner<T>, idx: uint) -> T { ret itr.vect.(idx); }
|
||||
fn get<T>(itr: &interner<T>, idx: uint) -> T { ret itr.vect.(idx); }
|
||||
|
||||
fn len[T](itr : &interner<T>) -> uint { ret vec::len(itr.vect); }
|
||||
fn len<T>(itr : &interner<T>) -> uint { ret vec::len(itr.vect); }
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue