about summary refs log tree commit diff
path: root/src/lib/std.rc
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2011-03-16 14:58:02 -0700
committerGraydon Hoare <graydon@mozilla.com>2011-03-16 14:58:02 -0700
commit54587bdccb7b6771cfc704a30fc0ef2c65824a15 (patch)
tree6f154f9b038e9542b364e87ae887858a96bdb4a9 /src/lib/std.rc
parent23eef4da22d55ad530f349dfd2dd40141258956f (diff)
downloadrust-54587bdccb7b6771cfc704a30fc0ef2c65824a15.tar.gz
rust-54587bdccb7b6771cfc704a30fc0ef2c65824a15.zip
Switch all vases of vec += elt to vec += vec. Prohibit former in rustboot. Tweak std lib vec fns in process.
Diffstat (limited to 'src/lib/std.rc')
-rw-r--r--src/lib/std.rc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/std.rc b/src/lib/std.rc
index a339fd8576a..7a3cdbb206a 100644
--- a/src/lib/std.rc
+++ b/src/lib/std.rc
@@ -34,6 +34,17 @@ auth _str = unsafe;
 auth _vec = unsafe;
 auth _task = unsafe;
 
+
+// FIXME: impure on these will infect caller in a way that is totally
+// beyond reason, if the caller's mutated-argument doesn't escape;
+// 'impure' needs work.
+auth _str.unshift_byte = impure;
+auth _str.shift_byte = impure;
+auth _str.pop_byte = impure;
+auth _vec.shift = impure;
+auth _vec.unshift = impure;
+auth _vec.pop = impure;
+
 auth dbg = unsafe;
 
 auth _uint.next_power_of_two = unsafe;