Skip to content

Instantly share code, notes, and snippets.

@pnkfelix
Created May 8, 2015 11:58
Show Gist options
  • Save pnkfelix/e2e80f1a71580f5d3103 to your computer and use it in GitHub Desktop.
Save pnkfelix/e2e80f1a71580f5d3103 to your computer and use it in GitHub Desktop.
parser.rs:265:27: 265:69 error: borrowed value does not live long enough
parser.rs:265 self.read_or(&mut [Box::new(ipv4_addr), Box::new(ipv6_addr)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
parser.rs:262:50: 266:6 note: reference must be valid for the destruction scope surrounding block at 262:49...
parser.rs:262 fn read_ip_addr(&mut self) -> Option<IpAddr> {
parser.rs:263 let ipv4_addr = |p: &mut Parser| p.read_ipv4_addr().map(|v4| IpAddr::V4(v4));
parser.rs:264 let ipv6_addr = |p: &mut Parser| p.read_ipv6_addr().map(|v6| IpAddr::V6(v6));
parser.rs:265 self.read_or(&mut [Box::new(ipv4_addr), Box::new(ipv6_addr)])
parser.rs:266 }
parser.rs:262:50: 266:6 note: ...but borrowed value is only valid for the block at 262:49
parser.rs:262 fn read_ip_addr(&mut self) -> Option<IpAddr> {
parser.rs:263 let ipv4_addr = |p: &mut Parser| p.read_ipv4_addr().map(|v4| IpAddr::V4(v4));
parser.rs:264 let ipv6_addr = |p: &mut Parser| p.read_ipv6_addr().map(|v6| IpAddr::V6(v6));
parser.rs:265 self.read_or(&mut [Box::new(ipv4_addr), Box::new(ipv6_addr)])
parser.rs:266 }
parser.rs:278:28: 278:64 error: borrowed value does not live long enough
parser.rs:278 p.read_or(&mut [Box::new(ipv4_p), Box::new(ipv6_p)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
parser.rs:269:40: 279:10 note: reference must be valid for the destruction scope surrounding block at 269:39...
parser.rs:269 let ip_addr = |p: &mut Parser| {
parser.rs:270 let ipv4_p = |p: &mut Parser| p.read_ip_addr();
parser.rs:271 let ipv6_p = |p: &mut Parser| {
parser.rs:272 let open_br = |p: &mut Parser| p.read_given_char('[');
parser.rs:273 let ip_addr = |p: &mut Parser| p.read_ipv6_addr();
parser.rs:274 let clos_br = |p: &mut Parser| p.read_given_char(']');
...
parser.rs:269:40: 279:10 note: ...but borrowed value is only valid for the block at 269:39
parser.rs:269 let ip_addr = |p: &mut Parser| {
parser.rs:270 let ipv4_p = |p: &mut Parser| p.read_ip_addr();
parser.rs:271 let ipv6_p = |p: &mut Parser| {
parser.rs:272 let open_br = |p: &mut Parser| p.read_given_char('[');
parser.rs:273 let ip_addr = |p: &mut Parser| p.read_ipv6_addr();
parser.rs:274 let clos_br = |p: &mut Parser| p.read_given_char(']');
...
error: aborting due to 2 previous errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment