// Regression test for issue #27592. | |
fn write<'a, F: ::std::ops::FnOnce()->::std::fmt::Arguments<'a> + 'a>(fcn: F) { | |
use std::fmt::Write; | |
let _ = match fcn() { a => write!(&mut Stream, "{}", a), }; | |
} | |
struct Stream; | |
impl ::std::fmt::Write for Stream { | |
fn write_str(&mut self, _s: &str) -> ::std::fmt::Result { | |
Ok( () ) | |
} | |
} | |
fn main() { | |
write(|| format_args!("{}", String::from("Hello world"))); | |
//~^ ERROR cannot return value referencing temporary value | |
//~| ERROR cannot return reference to temporary value | |
} |