rustc: Make shape-based compare glue never called for comparison operators.
Only called for string patterns.
This commit is contained in:
parent
9a15c50f6c
commit
22b8757705
22 changed files with 322 additions and 82 deletions
|
|
@ -14,22 +14,22 @@ fn sort_and_fmt(mm: hashmap<~[u8], uint>, total: uint) -> ~str {
|
|||
return (xx as float) * 100f / (yy as float);
|
||||
}
|
||||
|
||||
pure fn le_by_val<TT: Copy, UU: Copy>(kv0: &(TT,UU),
|
||||
kv1: &(TT,UU)) -> bool {
|
||||
pure fn le_by_val<TT: Copy Ord, UU: Copy Ord>(kv0: &(TT,UU),
|
||||
kv1: &(TT,UU)) -> bool {
|
||||
let (_, v0) = *kv0;
|
||||
let (_, v1) = *kv1;
|
||||
return v0 >= v1;
|
||||
}
|
||||
|
||||
pure fn le_by_key<TT: Copy, UU: Copy>(kv0: &(TT,UU),
|
||||
kv1: &(TT,UU)) -> bool {
|
||||
pure fn le_by_key<TT: Copy Ord, UU: Copy Ord>(kv0: &(TT,UU),
|
||||
kv1: &(TT,UU)) -> bool {
|
||||
let (k0, _) = *kv0;
|
||||
let (k1, _) = *kv1;
|
||||
return k0 <= k1;
|
||||
}
|
||||
|
||||
// sort by key, then by value
|
||||
fn sortKV<TT: Copy, UU: Copy>(orig: ~[(TT,UU)]) -> ~[(TT,UU)] {
|
||||
fn sortKV<TT: Copy Ord, UU: Copy Ord>(orig: ~[(TT,UU)]) -> ~[(TT,UU)] {
|
||||
return sort::merge_sort(le_by_val, sort::merge_sort(le_by_key, orig));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue