diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-01-11 18:28:06 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-01-11 20:52:43 +0530 |
| commit | dd074ab4eedcb08ca8a1861fc1e62f125e23fa8b (patch) | |
| tree | 0ed19f72f53874fbf7dc9e481ab8e8e96310ca1a /src | |
| parent | add20bbb6dae07fddc80bc46f53296fbf5679f27 (diff) | |
| download | rust-dd074ab4eedcb08ca8a1861fc1e62f125e23fa8b.tar.gz rust-dd074ab4eedcb08ca8a1861fc1e62f125e23fa8b.zip | |
Rename #[on_unimplemented] -> #[rustc_on_unimplemented]
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcore/iter.rs | 4 | ||||
| -rw-r--r-- | src/librustc/lint/builtin.rs | 2 | ||||
| -rw-r--r-- | src/librustc/middle/traits/error_reporting.rs | 17 | ||||
| -rw-r--r-- | src/librustc_typeck/check/mod.rs | 4 | ||||
| -rw-r--r-- | src/test/compile-fail/on-unimplemented-bad-anno.rs | 8 | ||||
| -rw-r--r-- | src/test/compile-fail/on-unimplemented.rs | 4 |
6 files changed, 21 insertions, 18 deletions
diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index e22de10a974..c88f3553e6b 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -101,8 +101,8 @@ pub trait Iterator { /// Conversion from an `Iterator` #[stable] -#[on_unimplemented="a collection of type `{Self}` cannot be \ - built from an iterator over elements of type `{A}`"] +#[rustc_on_unimplemented="a collection of type `{Self}` cannot be \ + built from an iterator over elements of type `{A}`"] pub trait FromIterator<A> { /// Build a container with elements from an external iterator. fn from_iter<T: Iterator<Item=A>>(iterator: T) -> Self; diff --git a/src/librustc/lint/builtin.rs b/src/librustc/lint/builtin.rs index 300b9aaf100..8ed177c82a8 100644 --- a/src/librustc/lint/builtin.rs +++ b/src/librustc/lint/builtin.rs @@ -666,7 +666,7 @@ impl LintPass for UnusedAttributes { "must_use", "stable", "unstable", - "on_unimplemented", + "rustc_on_unimplemented", // FIXME: #19470 this shouldn't be needed forever "old_orphan_check", diff --git a/src/librustc/middle/traits/error_reporting.rs b/src/librustc/middle/traits/error_reporting.rs index 0b0079c062d..da3b5f635e1 100644 --- a/src/librustc/middle/traits/error_reporting.rs +++ b/src/librustc/middle/traits/error_reporting.rs @@ -71,7 +71,7 @@ fn report_on_unimplemented<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>, let def_id = trait_ref.def_id; let mut report = None; ty::each_attr(infcx.tcx, def_id, |item| { - if item.check_name("on_unimplemented") { + if item.check_name("rustc_on_unimplemented") { let err_sp = if item.meta().span == DUMMY_SP { span } else { @@ -99,7 +99,8 @@ fn report_on_unimplemented<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>, None => { infcx.tcx.sess .span_err(err_sp, - format!("the #[on_unimplemented] attribute on \ + format!("the #[rustc_on_unimplemented] \ + attribute on \ trait definition for {} refers to \ non-existent type parameter {}", trait_str, s) @@ -111,10 +112,12 @@ fn report_on_unimplemented<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>, _ => { infcx.tcx.sess .span_err(err_sp, - format!("the #[on_unimplemented] attribute on \ + format!("the #[rustc_on_unimplemented] \ + attribute on \ trait definition for {} must have named \ format arguments, \ - eg `#[on_unimplemented = \"foo {{T}}\"]`", + eg `#[rustc_on_unimplemented = \ + \"foo {{T}}\"]`", trait_str).as_slice()); errored = true; None @@ -128,9 +131,9 @@ fn report_on_unimplemented<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>, } } else { infcx.tcx.sess.span_err(err_sp, - format!("the #[on_unimplemented] attribute on \ + format!("the #[rustc_on_unimplemented] attribute on \ trait definition for {} must have a value, \ - eg `#[on_unimplemented = \"foo\"]`", + eg `#[rustc_on_unimplemented = \"foo\"]`", trait_str).as_slice()); } false @@ -173,7 +176,7 @@ pub fn report_selection_error<'a, 'tcx>(infcx: &InferCtxt<'a, 'tcx>, "the trait `{}` is not implemented for the type `{}`", trait_ref.user_string(infcx.tcx), trait_ref.self_ty().user_string(infcx.tcx)).as_slice()); - // Check if it has a custom "#[on_unimplemented]" error message, + // Check if it has a custom "#[rustc_on_unimplemented]" error message, // report with that message if it does let custom_note = report_on_unimplemented(infcx, &*trait_ref.0, obligation.cause.span); diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index de6c884d6d7..7513d50deea 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -783,7 +783,7 @@ fn check_trait_on_unimplemented<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>, generics: &ast::Generics, item: &ast::Item) { if let Some(ref attr) = item.attrs.iter().find(|&: a| { - a.check_name("on_unimplemented") + a.check_name("rustc_on_unimplemented") }) { if let Some(ref istring) = attr.value_str() { let mut parser = Parser::new(istring.get()); @@ -819,7 +819,7 @@ fn check_trait_on_unimplemented<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>, } else { ccx.tcx.sess.span_err(attr.span, "this attribute must have a value, \ - eg `#[on_unimplemented = \"foo\"]`") + eg `#[rustc_on_unimplemented = \"foo\"]`") } } } diff --git a/src/test/compile-fail/on-unimplemented-bad-anno.rs b/src/test/compile-fail/on-unimplemented-bad-anno.rs index 7ca228a69b8..ec825c13043 100644 --- a/src/test/compile-fail/on-unimplemented-bad-anno.rs +++ b/src/test/compile-fail/on-unimplemented-bad-anno.rs @@ -11,19 +11,19 @@ #[allow(unused)] -#[on_unimplemented = "test error `{Self}` with `{Bar}` `{Baz}` `{Quux}`"] +#[rustc_on_unimplemented = "test error `{Self}` with `{Bar}` `{Baz}` `{Quux}`"] trait Foo<Bar, Baz, Quux>{} -#[on_unimplemented="a collection of type `{Self}` cannot be built from an iterator over elements of type `{A}`"] +#[rustc_on_unimplemented="a collection of type `{Self}` cannot be built from an iterator over elements of type `{A}`"] trait MyFromIterator<A> { /// Build a container with elements from an external iterator. fn my_from_iter<T: Iterator<Item=A>>(iterator: T) -> Self; } -#[on_unimplemented] //~ ERROR this attribute must have a value +#[rustc_on_unimplemented] //~ ERROR this attribute must have a value trait BadAnnotation1 {} -#[on_unimplemented = "Unimplemented trait error on `{Self}` with params `<{A},{B},{C}>`"] +#[rustc_on_unimplemented = "Unimplemented trait error on `{Self}` with params `<{A},{B},{C}>`"] //~^ ERROR there is no type parameter C on trait BadAnnotation2 trait BadAnnotation2<A,B> {} diff --git a/src/test/compile-fail/on-unimplemented.rs b/src/test/compile-fail/on-unimplemented.rs index 20b4448ea77..7d579fb340a 100644 --- a/src/test/compile-fail/on-unimplemented.rs +++ b/src/test/compile-fail/on-unimplemented.rs @@ -9,14 +9,14 @@ // except according to those terms. // ignore-tidy-linelength -#[on_unimplemented = "test error `{Self}` with `{Bar}` `{Baz}` `{Quux}`"] +#[rustc_on_unimplemented = "test error `{Self}` with `{Bar}` `{Baz}` `{Quux}`"] trait Foo<Bar, Baz, Quux>{} fn foobar<U: Clone, T: Foo<u8, U, u32>>() -> T { } -#[on_unimplemented="a collection of type `{Self}` cannot be built from an iterator over elements of type `{A}`"] +#[rustc_on_unimplemented="a collection of type `{Self}` cannot be built from an iterator over elements of type `{A}`"] trait MyFromIterator<A> { /// Build a container with elements from an external iterator. fn my_from_iter<T: Iterator<Item=A>>(iterator: T) -> Self; |
