about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librust/rust.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/librust/rust.rs b/src/librust/rust.rs
index c47c573d16f..746b7529231 100644
--- a/src/librust/rust.rs
+++ b/src/librust/rust.rs
@@ -60,7 +60,13 @@ struct Command<'self> {
     usage_full: UsageSource<'self>,
 }
 
-static COMMANDS: &'static [Command<'static>] = &[
+static NUM_OF_COMMANDS: uint = 7;
+
+// FIXME(#7617): should just be &'static [Command<'static>]
+// but mac os doesn't seem to like that and tries to loop
+// past the end of COMMANDS in usage thus passing garbage
+// to str::repeat and eventually malloc and crashing.
+static COMMANDS: [Command<'static>, .. NUM_OF_COMMANDS] = [
     Command{
         cmd: "build",
         action: CallMain("rustc", rustc::main),