about summary refs log tree commit diff
path: root/src/comp/front/core_inject.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp/front/core_inject.rs')
-rw-r--r--src/comp/front/core_inject.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/comp/front/core_inject.rs b/src/comp/front/core_inject.rs
index 8e88bd50068..f285d4bf67b 100644
--- a/src/comp/front/core_inject.rs
+++ b/src/comp/front/core_inject.rs
@@ -1,18 +1,23 @@
 import driver::session::session;
-import syntax::ast;
 import syntax::codemap;
+import syntax::ast;
+import front::attr;
 
 export maybe_inject_libcore_ref;
 
 fn maybe_inject_libcore_ref(sess: session,
                             crate: @ast::crate) -> @ast::crate {
-    if sess.opts.libcore {
+    if use_core(crate) {
         inject_libcore_ref(sess, crate)
     } else {
         crate
     }
 }
 
+fn use_core(crate: @ast::crate) -> bool {
+    !attr::attrs_contains_name(crate.node.attrs, "no_core")
+}
+
 fn inject_libcore_ref(sess: session,
                       crate: @ast::crate) -> @ast::crate {