Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Cont<'a, T>{
- field: Option<&'a T>
- }
- static CONT: Cont<'static, Vec<u8>>=Cont{field:None};
- fn get<'a, 'b, T>(_: &'b Cont<'a, T>, field: &'a T)->&'b T{
- field
- }
- fn extend<'a>(x:&'a Vec<u8>) -> &'static Vec<u8>{
- let f:fn(_, field:&'a Vec<u8>)-> &'static Vec<u8> = get;
- f(&CONT, x)
- }
- fn main(){
- let v = vec![255;1000000];
- let r: &'static Vec<u8> = extend(&v);
- drop(v);
- dbg!(r.last());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement