about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-03-08 14:29:17 -0800
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-03-08 14:30:01 -0800
commitd048a00cf3c275d9f9974960d0db463844da898e (patch)
treeed70a4437963d2c11daeeb91bf18be117c1f3abf
parent0824d1501b7911f45d028cb387e5e159bdd63eca (diff)
downloadrust-d048a00cf3c275d9f9974960d0db463844da898e.tar.gz
rust-d048a00cf3c275d9f9974960d0db463844da898e.zip
Change util::unreachable to core::unreachable
Closes #1931
-rw-r--r--src/fuzzer/rand_util.rs2
-rw-r--r--src/libcore/core.rs14
-rw-r--r--src/libstd/generic_os.rs2
-rw-r--r--src/libstd/map.rs2
-rw-r--r--src/libstd/rope.rs12
-rw-r--r--src/libstd/util.rs11
-rw-r--r--src/rustc/back/rpath.rs2
-rw-r--r--src/rustc/middle/alias.rs2
-rw-r--r--src/rustc/middle/last_use.rs2
-rw-r--r--src/rustc/middle/resolve.rs2
-rw-r--r--src/rustc/middle/trans/alt.rs2
-rw-r--r--src/rustc/middle/trans/uniq.rs2
-rw-r--r--src/rustc/middle/typeck.rs2
-rw-r--r--src/rustc/syntax/parse/parser.rs2
-rw-r--r--src/rustc/syntax/print/pprust.rs2
15 files changed, 31 insertions, 30 deletions
diff --git a/src/fuzzer/rand_util.rs b/src/fuzzer/rand_util.rs
index 94ae63bec07..6e518363125 100644
--- a/src/fuzzer/rand_util.rs
+++ b/src/fuzzer/rand_util.rs
@@ -50,7 +50,7 @@ fn weighted_choice<T: copy>(r : rand::rng, v : [weighted<T>]) -> T {
             ret item;
         }
     }
-    std::util::unreachable();
+    core::unreachable();
 }
 
 fn weighted_vec<T: copy>(v : [weighted<T>]) -> [T] {
diff --git a/src/libcore/core.rs b/src/libcore/core.rs
index 96bff1250fc..5ea8fcb545f 100644
--- a/src/libcore/core.rs
+++ b/src/libcore/core.rs
@@ -6,7 +6,7 @@ import option::{some, none};
 import option = option::t;
 import path = path::path;
 import vec::vec_len;
-export path, option, some, none, vec_len;
+export path, option, some, none, vec_len, unreachable;
 
 // Export the log levels as global constants. Higher levels mean
 // more-verbosity. Error is the bottom level, default logging level is
@@ -39,3 +39,15 @@ mod std {
     use std;
     import std::test;
 }
+
+/*
+Function: unreachable
+
+A standard function to use to indicate unreachable code. Because the
+function is guaranteed to fail typestate will correctly identify
+any code paths following the appearance of this function as unreachable.
+*/
+fn unreachable() -> ! {
+    fail "Internal error: entered unreachable code";
+}
+
diff --git a/src/libstd/generic_os.rs b/src/libstd/generic_os.rs
index 77cab821c5f..0432d136c35 100644
--- a/src/libstd/generic_os.rs
+++ b/src/libstd/generic_os.rs
@@ -80,7 +80,7 @@ fn getenv(n: str) -> option<str> {
             ret option::some(str::from_bytes(v)); // UTF-8 or fail
         } else { nsize = res; }
     }
-    util::unreachable();
+    core::unreachable();
 }
 
 #[cfg(target_os = "win32")]
diff --git a/src/libstd/map.rs b/src/libstd/map.rs
index 0511b82b5ba..bb67b574a44 100644
--- a/src/libstd/map.rs
+++ b/src/libstd/map.rs
@@ -158,7 +158,7 @@ mod chained {
               }
             }
         }
-        util::unreachable();
+        core::unreachable();
     }
 
     fn search_tbl<K: copy, V: copy>(
diff --git a/src/libstd/rope.rs b/src/libstd/rope.rs
index bf8aa7667a2..ea99d58aa86 100644
--- a/src/libstd/rope.rs
+++ b/src/libstd/rope.rs
@@ -1028,7 +1028,7 @@ mod node {
               }
             }
         }
-        util::unreachable();
+        core::unreachable();
     }
 
     /*
@@ -1092,7 +1092,7 @@ mod node {
               }
             }
         }
-        util::unreachable();
+        core::unreachable();
     }
 
     fn concat2(left: @node, right: @node) -> @node {
@@ -1176,7 +1176,7 @@ mod node {
               }
             }
         }
-        util::unreachable();
+        core::unreachable();
     }
 
     /*
@@ -1209,7 +1209,7 @@ mod node {
               }
             }
         }
-        util::unreachable();
+        core::unreachable();
     }
 
     mod leaf_iterator {
@@ -1248,7 +1248,7 @@ mod node {
                   }
                 }
             }
-            util::unreachable();
+            core::unreachable();
         }
     }
 
@@ -1292,7 +1292,7 @@ mod node {
                   }
                 }
             }
-            util::unreachable();
+            core::unreachable();
         }
 
         fn get_current_or_next_leaf(it: t) -> option<leaf> {
diff --git a/src/libstd/util.rs b/src/libstd/util.rs
index 54ffdbcd2db..2be273f8ab9 100644
--- a/src/libstd/util.rs
+++ b/src/libstd/util.rs
@@ -9,17 +9,6 @@ The identity function
 */
 pure fn id<T: copy>(x: T) -> T { x }
 
-/*
-Function: unreachable
-
-A standard function to use to indicate unreachable code. Because the
-function is guaranteed to fail typestate will correctly identify
-any code paths following the appearance of this function as unreachable.
-*/
-fn unreachable() -> ! {
-    fail "Internal error: entered unreachable code";
-}
-
 /* FIXME (issue #141):  See test/run-pass/constrained-type.rs.  Uncomment
  * the constraint once fixed. */
 /*
diff --git a/src/rustc/back/rpath.rs b/src/rustc/back/rpath.rs
index 8ecb48f86ea..eef999a9571 100644
--- a/src/rustc/back/rpath.rs
+++ b/src/rustc/back/rpath.rs
@@ -106,7 +106,7 @@ fn get_rpath_relative_to_output(os: session::os,
         session::os_linux { "$ORIGIN" + fs::path_sep() }
         session::os_freebsd { "$ORIGIN" + fs::path_sep() }
         session::os_macos { "@executable_path" + fs::path_sep() }
-        session::os_win32 { std::util::unreachable(); }
+        session::os_win32 { core::unreachable(); }
     };
 
     prefix + get_relative_to(
diff --git a/src/rustc/middle/alias.rs b/src/rustc/middle/alias.rs
index cc5a68e7b11..463ad79ffce 100644
--- a/src/rustc/middle/alias.rs
+++ b/src/rustc/middle/alias.rs
@@ -6,7 +6,7 @@ import syntax::visit;
 import visit::vt;
 import std::list;
 import std::map::hashmap;
-import std::util::unreachable;
+import core::unreachable;
 import option::is_none;
 import list::list;
 import driver::session::session;
diff --git a/src/rustc/middle/last_use.rs b/src/rustc/middle/last_use.rs
index 60954e25c91..854439c8533 100644
--- a/src/rustc/middle/last_use.rs
+++ b/src/rustc/middle/last_use.rs
@@ -2,7 +2,7 @@ import syntax::{visit, ast_util};
 import syntax::ast::*;
 import syntax::codemap::span;
 import std::list::{is_not_empty, list, nil, cons, tail};
-import std::util::unreachable;
+import core::unreachable;
 import std::list;
 import std::map::hashmap;
 
diff --git a/src/rustc/middle/resolve.rs b/src/rustc/middle/resolve.rs
index c440574334e..b3e55754e3b 100644
--- a/src/rustc/middle/resolve.rs
+++ b/src/rustc/middle/resolve.rs
@@ -861,7 +861,7 @@ fn unresolved_err(e: env, cx: ctxt, sp: span, name: ident, kind: str) {
               _ { ret none; }
             }
         }
-        std::util::unreachable()
+        core::unreachable()
     }
     let path = name;
     alt cx {
diff --git a/src/rustc/middle/trans/alt.rs b/src/rustc/middle/trans/alt.rs
index 169b74b7a25..ba1d12e545e 100644
--- a/src/rustc/middle/trans/alt.rs
+++ b/src/rustc/middle/trans/alt.rs
@@ -71,7 +71,7 @@ fn variant_opt(tcx: ty::ctxt, pat_id: ast::node_id) -> opt {
     for v: ty::variant_info in *variants {
         if vdef.var == v.id { ret var(v.disr_val, vdef); }
     }
-    std::util::unreachable();
+    core::unreachable();
 }
 
 type bind_map = [{ident: ast::ident, val: ValueRef}];
diff --git a/src/rustc/middle/trans/uniq.rs b/src/rustc/middle/trans/uniq.rs
index d6d32510858..1ae8aee0ea3 100644
--- a/src/rustc/middle/trans/uniq.rs
+++ b/src/rustc/middle/trans/uniq.rs
@@ -44,7 +44,7 @@ fn make_free_glue(bcx: block, vptr: ValueRef, t: ty::t)
 fn content_ty(t: ty::t) -> ty::t {
     alt ty::get(t).struct {
       ty::ty_uniq({ty: ct, _}) { ct }
-      _ { std::util::unreachable(); }
+      _ { core::unreachable(); }
     }
 }
 
diff --git a/src/rustc/middle/typeck.rs b/src/rustc/middle/typeck.rs
index cbc053217f4..f292ceddfff 100644
--- a/src/rustc/middle/typeck.rs
+++ b/src/rustc/middle/typeck.rs
@@ -1034,7 +1034,7 @@ fn do_autoderef(fcx: @fn_ctxt, sp: span, t: ty::t) -> ty::t {
           _ { ret t1; }
         }
     }
-    std::util::unreachable();
+    core::unreachable();
 }
 
 fn resolve_type_vars_if_possible(fcx: @fn_ctxt, typ: ty::t) -> ty::t {
diff --git a/src/rustc/syntax/parse/parser.rs b/src/rustc/syntax/parse/parser.rs
index 69c28c3c904..8b1625b04a1 100644
--- a/src/rustc/syntax/parse/parser.rs
+++ b/src/rustc/syntax/parse/parser.rs
@@ -1321,7 +1321,7 @@ fn parse_capture_clause(p: parser) -> @ast::capture_clause {
               _ { ret res; }
             }
         }
-        std::util::unreachable();
+        core::unreachable();
     }
 
     let copies = [];
diff --git a/src/rustc/syntax/print/pprust.rs b/src/rustc/syntax/print/pprust.rs
index b1a07fae31c..53b9ff578c4 100644
--- a/src/rustc/syntax/print/pprust.rs
+++ b/src/rustc/syntax/print/pprust.rs
@@ -1419,7 +1419,7 @@ fn operator_prec(op: ast::binop) -> int {
     for spec: parse::parser::op_spec in *parse::parser::prec_table() {
         if spec.op == op { ret spec.prec; }
     }
-    std::util::unreachable();
+    core::unreachable();
 }
 
 fn need_parens(expr: @ast::expr, outer_prec: int) -> bool {