From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/static/static-reference-to-fn-2.rs | 54 -------------------------- 1 file changed, 54 deletions(-) delete mode 100644 src/test/ui/static/static-reference-to-fn-2.rs (limited to 'src/test/ui/static/static-reference-to-fn-2.rs') diff --git a/src/test/ui/static/static-reference-to-fn-2.rs b/src/test/ui/static/static-reference-to-fn-2.rs deleted file mode 100644 index 6693667c0..000000000 --- a/src/test/ui/static/static-reference-to-fn-2.rs +++ /dev/null @@ -1,54 +0,0 @@ -fn id(x: T) -> T { x } - -struct StateMachineIter<'a> { - statefn: &'a StateMachineFunc<'a> -} - -type StateMachineFunc<'a> = fn(&mut StateMachineIter<'a>) -> Option<&'static str>; - -impl<'a> Iterator for StateMachineIter<'a> { - type Item = &'static str; - - fn next(&mut self) -> Option<&'static str> { - return (*self.statefn)(self); - } -} - -fn state1(self_: &mut StateMachineIter) -> Option<&'static str> { - self_.statefn = &id(state2 as StateMachineFunc); - //~^ ERROR temporary value dropped while borrowed - return Some("state1"); -} - -fn state2(self_: &mut StateMachineIter) -> Option<(&'static str)> { - self_.statefn = &id(state3 as StateMachineFunc); - //~^ ERROR temporary value dropped while borrowed - return Some("state2"); -} - -fn state3(self_: &mut StateMachineIter) -> Option<(&'static str)> { - self_.statefn = &id(finished as StateMachineFunc); - //~^ ERROR temporary value dropped while borrowed - return Some("state3"); -} - -fn finished(_: &mut StateMachineIter) -> Option<(&'static str)> { - return None; -} - -fn state_iter() -> StateMachineIter<'static> { - StateMachineIter { - //~^ ERROR cannot return value referencing temporary value - statefn: &id(state1 as StateMachineFunc) - } -} - - -fn main() { - let mut it = state_iter(); - println!("{:?}",it.next()); - println!("{:?}",it.next()); - println!("{:?}",it.next()); - println!("{:?}",it.next()); - println!("{:?}",it.next()); -} -- cgit v1.2.3