mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
57cd5e6551
Currently we always do this: ``` use rustc_fluent_macro::fluent_messages; ... fluent_messages! { "./example.ftl" } ``` But there is no need, we can just do this everywhere: ``` rustc_fluent_macro::fluent_messages! { "./example.ftl" } ``` which is shorter.
49 lines
1.5 KiB
Rust
49 lines
1.5 KiB
Rust
// check-fail
|
|
// Tests that a doc comment will not preclude a field from being considered a diagnostic argument
|
|
// normalize-stderr-test "the following other types implement trait `IntoDiagnosticArg`:(?:.*\n){0,9}\s+and \d+ others" -> "normalized in stderr"
|
|
// normalize-stderr-test "(COMPILER_DIR/.*\.rs):[0-9]+:[0-9]+" -> "$1:LL:CC"
|
|
|
|
// The proc_macro2 crate handles spans differently when on beta/stable release rather than nightly,
|
|
// changing the output of this test. Since Subdiagnostic is strictly internal to the compiler
|
|
// the test is just ignored on stable and beta:
|
|
// ignore-stage1
|
|
// ignore-beta
|
|
// ignore-stable
|
|
|
|
#![feature(rustc_private)]
|
|
#![crate_type = "lib"]
|
|
|
|
extern crate rustc_errors;
|
|
extern crate rustc_fluent_macro;
|
|
extern crate rustc_macros;
|
|
extern crate rustc_session;
|
|
extern crate rustc_span;
|
|
|
|
use rustc_errors::{Applicability, DiagnosticMessage, SubdiagnosticMessage};
|
|
use rustc_macros::{Diagnostic, Subdiagnostic};
|
|
use rustc_span::Span;
|
|
|
|
rustc_fluent_macro::fluent_messages! { "./example.ftl" }
|
|
|
|
struct NotIntoDiagnosticArg;
|
|
|
|
#[derive(Diagnostic)]
|
|
#[diag(no_crate_example)]
|
|
struct Test {
|
|
#[primary_span]
|
|
span: Span,
|
|
/// A doc comment
|
|
arg: NotIntoDiagnosticArg,
|
|
//~^ ERROR the trait bound `NotIntoDiagnosticArg: IntoDiagnosticArg` is not satisfied
|
|
}
|
|
|
|
#[derive(Subdiagnostic)]
|
|
#[label(no_crate_example)]
|
|
struct SubTest {
|
|
#[primary_span]
|
|
span: Span,
|
|
/// A doc comment
|
|
arg: NotIntoDiagnosticArg,
|
|
//~^ ERROR the trait bound `NotIntoDiagnosticArg: IntoDiagnosticArg` is not satisfied
|
|
}
|