2024-11-16 05:21:09 +01:00
|
|
|
// issue-103476
|
2024-11-22 07:20:22 -08:00
|
|
|
//@ compile-flags: -Zlint-mir
|
2024-11-16 05:21:09 +01:00
|
|
|
//@ edition: 2024
|
|
|
|
|
//@ check-pass
|
|
|
|
|
|
|
|
|
|
#![feature(let_chains)]
|
|
|
|
|
#![allow(irrefutable_let_patterns)]
|
|
|
|
|
|
|
|
|
|
struct Pd;
|
|
|
|
|
|
|
|
|
|
impl Pd {
|
|
|
|
|
fn it(&self) -> It {
|
|
|
|
|
todo!()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub struct It<'a>(Box<dyn Tr<'a>>);
|
|
|
|
|
|
|
|
|
|
trait Tr<'a> {}
|
|
|
|
|
|
|
|
|
|
fn f(m: Option<Pd>) {
|
|
|
|
|
if let Some(n) = m && let it = n.it() {};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {}
|