diff options
| author | Pietro Albini <pietro@pietroalbini.org> | 2018-11-18 23:24:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-18 23:24:43 +0100 |
| commit | 715d83fe01b02c3c42f6a60810cf8fe8316788e5 (patch) | |
| tree | 0d4dc6d475681b6ff32ca51572a0322fb044f579 | |
| parent | 5e2ff63e29c20353b9929337e4c3b641adbf488f (diff) | |
| parent | 8e13e433c65f4755f43a527f8777a035f8b6a71b (diff) | |
| download | rust-715d83fe01b02c3c42f6a60810cf8fe8316788e5.tar.gz rust-715d83fe01b02c3c42f6a60810cf8fe8316788e5.zip | |
Rollup merge of #55923 - Zeegomo:master, r=estebank
reword #[test] attribute error on fn items fix of [#55787](https://github.com/rust-lang/rust/issues/55787) Reworded error message from "#[test] attribute is only allowed on fn items" to "#[test] attribute is only allowed on non associated functions"
| -rw-r--r-- | src/libsyntax_ext/test.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/test-attr-non-associated-functions.rs | 29 | ||||
| -rw-r--r-- | src/test/ui/test-attr-non-associated-functions.stderr | 10 |
3 files changed, 40 insertions, 1 deletions
diff --git a/src/libsyntax_ext/test.rs b/src/libsyntax_ext/test.rs index be3485cfa7c..b8a171b52ad 100644 --- a/src/libsyntax_ext/test.rs +++ b/src/libsyntax_ext/test.rs @@ -53,7 +53,7 @@ pub fn expand_test_or_bench( if let Annotatable::Item(i) = item { i } else { cx.parse_sess.span_diagnostic.span_fatal(item.span(), - "#[test] attribute is only allowed on fn items").raise(); + "#[test] attribute is only allowed on non associated functions").raise(); }; if let ast::ItemKind::Mac(_) = item.node { diff --git a/src/test/ui/test-attr-non-associated-functions.rs b/src/test/ui/test-attr-non-associated-functions.rs new file mode 100644 index 00000000000..348bc6b4e98 --- /dev/null +++ b/src/test/ui/test-attr-non-associated-functions.rs @@ -0,0 +1,29 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// #[test] attribute is not allowed on associated functions or methods +// reworded error message +// compile-flags:--test + +struct A {} + +impl A { + #[test] + fn new() -> A { //~ ERROR #[test] attribute is only allowed on non associated functions + A {} + } +} + +#[test] +fn test() { + let _ = A::new(); +} + +fn main() {} diff --git a/src/test/ui/test-attr-non-associated-functions.stderr b/src/test/ui/test-attr-non-associated-functions.stderr new file mode 100644 index 00000000000..491fcc01431 --- /dev/null +++ b/src/test/ui/test-attr-non-associated-functions.stderr @@ -0,0 +1,10 @@ +error: #[test] attribute is only allowed on non associated functions + --> $DIR/test-attr-non-associated-functions.rs:19:5 + | +LL | / fn new() -> A { //~ ERROR #[test] attribute is only allowed on non associated functions +LL | | A {} +LL | | } + | |_____^ + +error: aborting due to previous error + |
