32 lines
753 B
Rust
32 lines
753 B
Rust
//@ check-pass
|
|
//@ edition:2018
|
|
//@ aux-crate:issue_55779_extern_trait=issue-55779-extern-trait.rs
|
|
|
|
#![allow(non_local_definitions)]
|
|
|
|
use issue_55779_extern_trait::Trait;
|
|
|
|
struct Local;
|
|
struct Helper;
|
|
|
|
impl Trait for Local {
|
|
fn no_op(&self)
|
|
{
|
|
// (Unused) extern crate declaration necessary to reproduce bug
|
|
extern crate issue_55779_extern_trait;
|
|
|
|
// This one works
|
|
// impl Trait for Helper { fn no_op(&self) { } }
|
|
|
|
// This one infinite-loops
|
|
const _IMPL_SERIALIZE_FOR_HELPER: () = {
|
|
// (extern crate can also appear here to reproduce bug,
|
|
// as in originating example from serde)
|
|
impl Trait for Helper { fn no_op(&self) { } }
|
|
};
|
|
|
|
}
|
|
}
|
|
|
|
fn main() { }
|