blob: 1ad90b1cfad8f9003917e9b4eb447a71af0a6553 [file] [log] [blame] [edit]
//@ no-prefer-dynamic
//@ compile-flags: --crate-type=rlib
pub use impl_mod::TraitImplementer as Implementer;
pub use trait_mod::get_assoc;
mod impl_mod {
use crate::trait_mod::TraitWithAssocType;
pub struct TraitImplementer {}
pub struct AssociatedType {}
impl AssociatedType {
pub fn method_on_assoc(&self) -> i32 {
todo!()
}
}
impl TraitWithAssocType for TraitImplementer {
type AssocType = AssociatedType;
}
}
mod trait_mod {
use crate::Implementer;
pub fn get_assoc() -> <Implementer as TraitWithAssocType>::AssocType {
todo!()
}
pub trait TraitWithAssocType {
type AssocType;
}
}