diff options
Diffstat (limited to 'src/test/ui/borrowck/issue-7573.rs')
-rw-r--r-- | src/test/ui/borrowck/issue-7573.rs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/test/ui/borrowck/issue-7573.rs b/src/test/ui/borrowck/issue-7573.rs deleted file mode 100644 index 7c0741153..000000000 --- a/src/test/ui/borrowck/issue-7573.rs +++ /dev/null @@ -1,41 +0,0 @@ -pub struct CrateId { - local_path: String, - junk: String, -} - -impl CrateId { - fn new(s: &str) -> CrateId { - CrateId { local_path: s.to_string(), junk: "wutevs".to_string() } - } -} - -pub fn remove_package_from_database() { - let mut lines_to_use: Vec<&CrateId> = Vec::new(); - //~^ NOTE `lines_to_use` declared here, outside of the closure body - let push_id = |installed_id: &CrateId| { - //~^ NOTE `installed_id` is a reference that is only valid in the closure body - lines_to_use.push(installed_id); - //~^ ERROR borrowed data escapes outside of closure - //~| NOTE `installed_id` escapes the closure body here - }; - list_database(push_id); - - for l in &lines_to_use { - println!("{}", l.local_path); - } -} - -pub fn list_database<F>(mut f: F) -where - F: FnMut(&CrateId), -{ - let stuff = ["foo", "bar"]; - - for l in &stuff { - f(&CrateId::new(*l)); - } -} - -pub fn main() { - remove_package_from_database(); -} |