Ответ 1
Проблема заключается в том, что вы не сохраняете результат from_base64
в любом месте, а затем ссылаетесь на это, вызывая as_slice
. Таким образом, вызывающие вызовы приводят к тому, что результат from_base64
выходит из области видимости в конце строки, и выбор ссылки больше не действителен.
Также будьте осторожны при вызове as_slice
на Result
, потому что в случае ошибки декодирования он будет паниковать и сбой программы.
extern crate serialize;
use serialize::base64::{mod, ToBase64, FromBase64};
fn main() {
let a: [u8, ..30] = [123, 34, .....];
let b = a.from_base64();
println!("{}", b.as_slice());
// <-- b (result of from_base64) lifetime now ends here
}