From 89946609f2de815ea87df3b001fff0caf9efa0d5 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 9 Nov 2010 14:15:07 -0800 Subject: Support a special const-value refcount, use it for const strings. --- src/test/run-pass/alt-pattern-drop.rs | 8 ++++++-- src/test/run-pass/vec-append.rs | 15 ++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) (limited to 'src/test') diff --git a/src/test/run-pass/alt-pattern-drop.rs b/src/test/run-pass/alt-pattern-drop.rs index 1c9cc000..4ee2c12b 100644 --- a/src/test/run-pass/alt-pattern-drop.rs +++ b/src/test/run-pass/alt-pattern-drop.rs @@ -3,6 +3,10 @@ use std; import std._str; +// FIXME: import std.dbg.const_refcount. Currently +// cross-crate const references don't work. +const uint const_refcount = 0x7bad_face_u; + tag t { make_t(str); clam; @@ -17,12 +21,12 @@ fn foo(str s) { } log _str.refcount(s); - check (_str.refcount(s) == 3u); + check (_str.refcount(s) == const_refcount); } fn main() { let str s = "hi"; // ref up foo(s); // ref up then down log _str.refcount(s); - check (_str.refcount(s) == 1u); + check (_str.refcount(s) == const_refcount); } diff --git a/src/test/run-pass/vec-append.rs b/src/test/run-pass/vec-append.rs index 5b0a92ae..ca906e55 100644 --- a/src/test/run-pass/vec-append.rs +++ b/src/test/run-pass/vec-append.rs @@ -4,6 +4,11 @@ use std; import std._str; import std._vec; + +// FIXME: import std.dbg.const_refcount. Currently +// cross-crate const references don't work. +const uint const_refcount = 0x7bad_face_u; + fn fast_growth() { let vec[int] v = vec(1,2,3,4,5); v += vec(6,7,8,9,0); @@ -55,8 +60,8 @@ fn slow_growth2_helper(str s) { // ref up: s log _str.refcount(mumble); check (_vec.refcount[str](v) == 1u); - check (_str.refcount(s) == 4u); - check (_str.refcount(mumble) == 3u); + check (_str.refcount(s) == const_refcount); + check (_str.refcount(mumble) == const_refcount); log v.(0); log _vec.len[str](v); @@ -67,8 +72,8 @@ fn slow_growth2_helper(str s) { // ref up: s log _str.refcount(s); log _str.refcount(mumble); - check (_str.refcount(s) == 3u); - check (_str.refcount(mumble) == 1u); + check (_str.refcount(s) == const_refcount); + check (_str.refcount(mumble) == const_refcount); log mumble; log ss; @@ -78,7 +83,7 @@ fn slow_growth2() { let str s = "hi"; // ref up: s slow_growth2_helper(s); log _str.refcount(s); - check (_str.refcount(s) == 1u); + check (_str.refcount(s) == const_refcount); } fn main() { -- cgit v1.2.3