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/lib/_str.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/lib/_str.rs') diff --git a/src/lib/_str.rs b/src/lib/_str.rs index 0fc7b373..4ea5ca28 100644 --- a/src/lib/_str.rs +++ b/src/lib/_str.rs @@ -97,8 +97,13 @@ fn from_bytes(vec[u8] v) : is_utf8(v) -> str { } fn refcount(str s) -> uint { - // -1 because calling this function incremented the refcount. - ret rustrt.refcount[u8](s) - 1u; + auto r = rustrt.refcount[u8](s); + if (r == dbg.const_refcount) { + ret r; + } else { + // -1 because calling this function incremented the refcount. + ret r - 1u; + } } -- cgit v1.2.3