pub enum Arrival {
Included,
Pinned(&'static Pinned),
Wall(Wall),
Unpublished,
}Expand description
How the sysroot for one target reaches the machine that compiles for it.
Four answers, and the reason this is an enum rather than an optional URL is that three of them
have no URL and mean entirely different things. A target nobody has published a tree for yet gets
one in a later release. A target behind a licence wall does not, ever, and telling the two apart
is the whole of spec/cross-compile/13-distribution.md section 13.4.
Variants§
Included
Nothing has to arrive. The compiler’s own headers are inside the binary and a freestanding target links none of a library, so the archive is the whole of what this target needs.
Pinned(&'static Pinned)
A sysroot artifact this release pins, by URL and by hash.
Wall(Wall)
Behind one of the two licence walls, so there is nothing to ship and nothing to fetch, and what a person does instead is name a path they already have a licence for.
Unpublished
Ours to ship, and not yet published. A later release pins it.