From 5614e83e817a1d15286a1d4eeb6b665ddf5fe3cb Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Sun, 12 May 2013 02:43:07 -0400 Subject: [PATCH] Remove vecs_implicitly_copyable from the compiler --- src/librustc/middle/lint.rs | 9 --------- src/librustc/middle/ty.rs | 10 +--------- 2 files changed, 1 insertion(+), 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, 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 {