मैं इस सरल कोड संकलन करने के लिए कोशिश कर रहा हूँ:जंग समारोह में स्थिर जीवनकाल नहीं है?
fn dox(x: u8) -> u8 { x*2 }
fn main() {
let cb: &'static (Fn(u8) -> u8) = &dox;
}
लेकिन यह जंग 1.9 के साथ विफल:
x.rs:4:40: 4:43 error: borrowed value does not live long enough
x.rs:4 let cb: &'static (Fn(u8) -> u8) = &dox;
^~~
note: reference must be valid for the static lifetime...
x.rs:4:44: 5:2 note: ...but borrowed value is only valid for the block suffix following statement 0 at 4:43
x.rs:4 let cb: &'static (Fn(u8) -> u8) = &dox;
x.rs:5 }
error: aborting due to previous error
कैसे यह संभव है कि एक नि: शुल्क समारोह स्थिर जीवन भर नहीं है? यह कोड असुरक्षित कैसे हो सकता है?