about summary refs log tree commit diff
path: root/tests/ui/suggestions/issue-61963.rs
blob: 77e4b21f5dbd5aed5f35945756443b5dd40f3bb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//@ edition: 2015
//@ proc-macro: issue-61963.rs
//@ proc-macro: issue-61963-1.rs
#![deny(bare_trait_objects)]

#[macro_use]
extern crate issue_61963;
#[macro_use]
extern crate issue_61963_1;

// This test checks that the bare trait object lint does not trigger on macro attributes that
// generate code which would trigger the lint.

pub struct Baz;
pub trait Bar {}
pub struct Qux<T>(T);

#[dom_struct]
pub struct Foo {
    //~^ ERROR trait objects without an explicit `dyn` are deprecated [bare_trait_objects]
    //~| WARN this is accepted in the current edition
    qux: Qux<Qux<Baz>>,
    bar: Box<Bar>,
    //~^ ERROR trait objects without an explicit `dyn` are deprecated [bare_trait_objects]
    //~| WARN this is accepted in the current edition
}

fn main() {}