aboutsummaryrefslogtreecommitdiff
path: root/src/lib/std.rc
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-03-16 14:58:02 -0700
committerGraydon Hoare <[email protected]>2011-03-16 14:58:02 -0700
commit54587bdccb7b6771cfc704a30fc0ef2c65824a15 (patch)
tree6f154f9b038e9542b364e87ae887858a96bdb4a9 /src/lib/std.rc
parentAdd some more dlopen-related suppressions for the Mac (diff)
downloadrust-54587bdccb7b6771cfc704a30fc0ef2c65824a15.tar.xz
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 a339fd85..7a3cdbb2 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;