//@ check-pass | |
// Regression test due to #123279 | |
pub trait Job: AsJob { | |
fn run_once(&self); | |
} | |
impl<F: Fn()> Job for F { | |
fn run_once(&self) { | |
todo!() | |
} | |
} | |
pub trait AsJob {} | |
// Ensure that `T: Sized + Job` by reordering the explicit `Sized` to where | |
// the implicit sized pred would go. | |
impl<T: Job + Sized> AsJob for T {} | |
pub struct LoopingJobService { | |
job: Box<dyn Job>, | |
} | |
impl Job for LoopingJobService { | |
fn run_once(&self) { | |
self.job.run_once() | |
} | |
} | |
fn main() {} |