Add a test that emitting diagnostics does not require the crate to use
the corresponding feature.
This commit is contained in:
parent
2c3aeea1ba
commit
91e1af3862
@ -0,0 +1,8 @@
|
||||
#![feature(diagnostic_namespace)]
|
||||
|
||||
#[diagnostic::on_unimplemented(
|
||||
message = "Message",
|
||||
note = "Note",
|
||||
label = "label"
|
||||
)]
|
||||
pub trait Foo {}
|
@ -0,0 +1,12 @@
|
||||
// aux-build:other.rs
|
||||
|
||||
extern crate other;
|
||||
|
||||
use other::Foo;
|
||||
|
||||
fn take_foo(_: impl Foo) {}
|
||||
|
||||
fn main() {
|
||||
take_foo(());
|
||||
//~^ERROR Message
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
error[E0277]: Message
|
||||
--> $DIR/error_is_shown_in_downstream_crates.rs:10:14
|
||||
|
|
||||
LL | take_foo(());
|
||||
| -------- ^^ label
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= help: the trait `Foo` is not implemented for `()`
|
||||
= note: Note
|
||||
note: required by a bound in `take_foo`
|
||||
--> $DIR/error_is_shown_in_downstream_crates.rs:7:21
|
||||
|
|
||||
LL | fn take_foo(_: impl Foo) {}
|
||||
| ^^^ required by this bound in `take_foo`
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
Loading…
x
Reference in New Issue
Block a user