Próbuję zrozumieć, czym dokładnie jest zakres funkcji zdefiniowanych w bloku impl
, ale które nie akceptują parametru &self
. Na przykład, dlaczego poniższy fragment kodu nie jest kompilowany? Pojawia się błąd "nie można znaleźć funkcji generate_a_result
w tym zakresie".Reguły ustalania zasięgów dla funkcji strukturalnych
pub struct Blob {
num: u32,
}
impl Blob {
pub fn new() -> Blob {
generate_a_result()
}
fn generate_a_result() -> Blob {
let result = Blob {
num: 0
};
result
}
}