about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2013-05-12 02:43:07 -0400
committerAlex Crichton <alex@alexcrichton.com>2013-05-14 12:25:18 -0400
commit5614e83e817a1d15286a1d4eeb6b665ddf5fe3cb (patch)
tree0f7d3a599d53daa525c9f508a9df945b852b24ad
parentccfb3ebf0310444804542c93e079a78c20bf5415 (diff)
downloadrust-5614e83e817a1d15286a1d4eeb6b665ddf5fe3cb.tar.gz
rust-5614e83e817a1d15286a1d4eeb6b665ddf5fe3cb.zip
Remove vecs_implicitly_copyable from the compiler
-rw-r--r--src/librustc/middle/lint.rs9
-rw-r--r--src/librustc/middle/ty.rs10
2 files changed, 1 insertions, 18 deletions
diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs
index f7f5f0fe29c..7ea0840880c 100644
--- a/src/librustc/middle/lint.rs
+++ b/src/librustc/middle/lint.rs
@@ -51,7 +51,6 @@ pub enum lint {
     implicit_copies,
     unrecognized_lint,
     non_implicitly_copyable_typarams,
-    vecs_implicitly_copyable,
     deprecated_pattern,
     non_camel_case_types,
     type_limits,
@@ -132,14 +131,6 @@ static lint_table: &'static [(&'static str, LintSpec)] = &[
         default: warn
      }),
 
-    ("vecs_implicitly_copyable",
-     LintSpec {
-        lint: vecs_implicitly_copyable,
-        desc: "make vecs and strs not implicitly copyable \
-              (only checked at top level)",
-        default: warn
-     }),
-
     ("implicit_copies",
      LintSpec {
         lint: implicit_copies,
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index 30a54306825..fbb84751d03 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -14,8 +14,6 @@ use metadata::csearch;
 use metadata;
 use middle::const_eval;
 use middle::freevars;
-use middle::lint::{get_lint_level, allow};
-use middle::lint;
 use middle::resolve::{Impl, MethodInfo};
 use middle::resolve;
 use middle::ty;
@@ -241,7 +239,6 @@ struct ctxt_ {
     diag: @syntax::diagnostic::span_handler,
     interner: @mut HashMap<intern_key, ~t_box_>,
     next_id: @mut uint,
-    vecs_implicitly_copyable: bool,
     legacy_modes: bool,
     cstore: @mut metadata::cstore::CStore,
     sess: session::Session,
@@ -992,14 +989,10 @@ pub fn mk_ctxt(s: session::Session,
         }
     }
 
-    let vecs_implicitly_copyable =
-        get_lint_level(s.lint_settings.default_settings,
-                       lint::vecs_implicitly_copyable) == allow;
     @ctxt_ {
         diag: s.diagnostic(),
         interner: @mut HashMap::new(),
         next_id: @mut primitives::LAST_PRIMITIVE_ID,
-        vecs_implicitly_copyable: vecs_implicitly_copyable,
         legacy_modes: legacy_modes,
         cstore: s.cstore,
         sess: s,
@@ -1946,8 +1939,7 @@ pub impl TypeContents {
     }
 
     fn nonimplicitly_copyable(cx: ctxt) -> TypeContents {
-        let base = TypeContents::noncopyable(cx) + TC_OWNED_POINTER;
-        if cx.vecs_implicitly_copyable {base} else {base + TC_OWNED_VEC}
+        TypeContents::noncopyable(cx) + TC_OWNED_POINTER + TC_OWNED_VEC
     }
 
     fn needs_drop(&self, cx: ctxt) -> bool {