Pracuję nad podstawowym interpreterem powłoki, aby zapoznać się z Rustem. Pracując na stole do przechowywania zawieszone pracy w skorupkach, Dostałem zatrzymany pod następującym komunikatem o błędzie kompilatora:Konstruktor konstrukcji Tuple narzeka na prywatne pola
error: cannot invoke tuple struct constructor with private fields [E0450]
let jobs = job::JobsList(vec![]);
^~~~~~~~~~~~~
Jest dla mnie jasne, co jest postrzegane jako prywatne tutaj. Jak widać poniżej, obie struktury są oznaczone w moim pliku modułu jako pub
. Jaki jest sekretny sos?
mod job {
use std::fmt;
pub struct Job {
jid: isize,
pid: isize,
cmd: String,
}
pub struct JobsList(Vec<Job>);
}
fn main() {
let jobs = job::JobsList(vec![]);
}