Collaterally moved error when deconstructing a Box of pairs

前端 未结 2 538
别那么骄傲
别那么骄傲 2020-12-11 18:35

The following two lines:

let x = Box::new((\"slefj\".to_string(), \"a\".to_string()));
let (a, b) = *x;

produce the error:



        
2条回答
  •  青春惊慌失措
    2020-12-11 19:29

    The good news is that your original code works as-is now that non-lexical lifetimes are enabled by default:

    fn main() {
        let x = Box::new(("slefj".to_string(), "a".to_string()));
        let (a, b) = *x;
    }
    

    The borrow checker's capability to track the moves out of the box is enhanced, allowing the code to compile.

提交回复
热议问题