]> git.lizzy.rs Git - rust.git/blob - src/test/ui/rfc-2632-const-trait-impl/const-drop-bound.rs
Auto merge of #106371 - RalfJung:no-ret-position-noalias, r=nikic
[rust.git] / src / test / ui / rfc-2632-const-trait-impl / const-drop-bound.rs
1 // check-pass
2
3 #![feature(const_trait_impl)]
4 #![feature(const_precise_live_drops)]
5
6 use std::marker::Destruct;
7
8 const fn foo<T, E>(res: Result<T, E>) -> Option<T> where E: ~const Destruct {
9     match res {
10         Ok(t) => Some(t),
11         Err(_e) => None,
12     }
13 }
14
15 pub struct Foo<T>(T);
16
17 const fn baz<T, E>(res: Result<Foo<T>, Foo<E>>) -> Option<Foo<T>>
18 where
19     T: ~const Destruct,
20     E: ~const Destruct,
21 {
22     foo(res)
23 }
24
25 fn main() {}