From 9b9cce2316119a2ffdc9556d410e464b7542d64d Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Tue, 1 Jul 2014 18:39:41 +0200 Subject: Add scaffolding for assigning alpha-numeric codes to rustc diagnostics --- .../macro-crate-unexported-macro.rs | 2 +- src/test/compile-fail/issue-11692.rs | 4 ++-- src/test/compile-fail/rustc-diagnostics-1.rs | 28 ++++++++++++++++++++++ src/test/compile-fail/rustc-diagnostics-2.rs | 20 ++++++++++++++++ src/test/compile-fail/rustc-diagnostics-3.rs | 20 ++++++++++++++++ 5 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 src/test/compile-fail/rustc-diagnostics-1.rs create mode 100644 src/test/compile-fail/rustc-diagnostics-2.rs create mode 100644 src/test/compile-fail/rustc-diagnostics-3.rs (limited to 'src/test') diff --git a/src/test/compile-fail-fulldeps/macro-crate-unexported-macro.rs b/src/test/compile-fail-fulldeps/macro-crate-unexported-macro.rs index 39c2accaddf..6a3b0b91ffe 100644 --- a/src/test/compile-fail-fulldeps/macro-crate-unexported-macro.rs +++ b/src/test/compile-fail-fulldeps/macro-crate-unexported-macro.rs @@ -18,5 +18,5 @@ extern crate macro_crate_test; fn main() { - assert_eq!(3, unexported_macro!()); //~ ERROR macro undefined: 'unexported_macro' + assert_eq!(3, unexported_macro!()); //~ ERROR macro undefined: 'unexported_macro!' } diff --git a/src/test/compile-fail/issue-11692.rs b/src/test/compile-fail/issue-11692.rs index 848deac4d55..09cf9739614 100644 --- a/src/test/compile-fail/issue-11692.rs +++ b/src/test/compile-fail/issue-11692.rs @@ -10,9 +10,9 @@ fn main() { print!(test!()); - //~^ ERROR: macro undefined: 'test' + //~^ ERROR: macro undefined: 'test!' //~^^ ERROR: format argument must be a string literal concat!(test!()); - //~^ ERROR: macro undefined: 'test' + //~^ ERROR: macro undefined: 'test!' } diff --git a/src/test/compile-fail/rustc-diagnostics-1.rs b/src/test/compile-fail/rustc-diagnostics-1.rs new file mode 100644 index 00000000000..55d836092fa --- /dev/null +++ b/src/test/compile-fail/rustc-diagnostics-1.rs @@ -0,0 +1,28 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![feature(rustc_diagnostic_macros)] + +__register_diagnostic!(E0001) +__register_diagnostic!(E0003) + +fn main() { + __diagnostic_used!(E0002); + //~^ ERROR unknown diagnostic code E0002 + + __diagnostic_used!(E0001); + //~^ NOTE previous invocation + + __diagnostic_used!(E0001); + //~^ WARNING diagnostic code E0001 already used +} + +__build_diagnostic_array!(DIAGNOSTICS) +//~^ WARN diagnostic code E0003 never used diff --git a/src/test/compile-fail/rustc-diagnostics-2.rs b/src/test/compile-fail/rustc-diagnostics-2.rs new file mode 100644 index 00000000000..c4e011bcea0 --- /dev/null +++ b/src/test/compile-fail/rustc-diagnostics-2.rs @@ -0,0 +1,20 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![feature(rustc_diagnostic_macros)] + +__register_diagnostic!(E0001) +__register_diagnostic!(E0001) +//~^ ERROR diagnostic code E0001 already registered + +fn main() { +} + +__build_diagnostic_array!(DIAGNOSTICS) diff --git a/src/test/compile-fail/rustc-diagnostics-3.rs b/src/test/compile-fail/rustc-diagnostics-3.rs new file mode 100644 index 00000000000..d160664a48c --- /dev/null +++ b/src/test/compile-fail/rustc-diagnostics-3.rs @@ -0,0 +1,20 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +__register_diagnostic!(E0001) +//~^ ERROR macro undefined: '__register_diagnostic!' + +fn main() { + __diagnostic_used!(E0001); + //~^ ERROR macro undefined: '__diagnostic_used!' +} + +__build_diagnostic_array!(DIAGNOSTICS) +//~^ ERROR macro undefined: '__build_diagnostic_array!' -- cgit 1.4.1-3-g733a5