mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 06:51:58 +00:00
Add test.
This commit is contained in:
parent
96321ed756
commit
89f15bfd90
@ -0,0 +1,6 @@
|
||||
pub fn foo() {}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! gimme_a {
|
||||
($($mac:tt)*) => { $($mac)* { 'a } }
|
||||
}
|
28
src/test/ui/rust-2018/edition-lint-infer-outlives-macro.rs
Normal file
28
src/test/ui/rust-2018/edition-lint-infer-outlives-macro.rs
Normal file
@ -0,0 +1,28 @@
|
||||
// edition:2018
|
||||
// aux-build:edition-lint-infer-outlives-macro.rs
|
||||
|
||||
// Test that the lint does not fire if the where predicate
|
||||
// is from the local crate, but all the bounds are from an
|
||||
// external macro.
|
||||
|
||||
#![deny(explicit_outlives_requirements)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate edition_lint_infer_outlives_macro;
|
||||
|
||||
macro_rules! make_foo {
|
||||
($a:tt) => {
|
||||
struct Foo<$a, 'b> where 'b: $a {
|
||||
foo: &$a &'b (),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
gimme_a! {make_foo!}
|
||||
|
||||
struct Bar<'a, 'b: 'a> {
|
||||
//~^ ERROR: outlives requirements can be inferred
|
||||
bar: &'a &'b (),
|
||||
}
|
||||
|
||||
fn main() {}
|
@ -0,0 +1,14 @@
|
||||
error: outlives requirements can be inferred
|
||||
--> $DIR/edition-lint-infer-outlives-macro.rs:23:18
|
||||
|
|
||||
LL | struct Bar<'a, 'b: 'a> {
|
||||
| ^^^^ help: remove this bound
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> $DIR/edition-lint-infer-outlives-macro.rs:8:9
|
||||
|
|
||||
LL | #![deny(explicit_outlives_requirements)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
Loading…
Reference in New Issue
Block a user