Skip to main content

lib_dir

Function lib_dir 

Source
pub fn lib_dir() -> PathBuf
Expand description

Where the libraries that ship inside the binary put their .d.tl so the checker can see them: <tmp>/htl-lib-<version>-<key>/, with htl/test.d.tl and, under the std feature, std/*.d.tl below it. The files are written on demand by the library that owns them, only when their content changes.

The key is a hash over what this build would write, and not the version, because the version does not tell two builds apart. CARGO_PKG_VERSION is the same on the release and on every build from main after it, and those differ by exactly what lands here: a binary with std writes std/*.d.tl that a binary without it cannot preload, and one that found them on its search path type-checked a project against modules it then failed to load (#220). Keyed by content, the two have different directories and neither can see the other’s; two builds that would write the same files still share one, which is the case worth sharing.

The version stays in the name because that is what a person reading the path uses.