|
1 month ago | |
---|---|---|
.. | ||
README.md | 1 month ago | |
aarch64-apple-darwin-default | 1 month ago | |
aarch64-apple-darwin-jemalloc | 1 month ago | |
aarch64-apple-darwin-no-default-features | 1 month ago | |
aarch64-apple-darwin-workspace-hack-no-default-features | 1 month ago | |
aarch64-unknown-linux-gnu-default | 1 month ago | |
aarch64-unknown-linux-gnu-jemalloc | 1 month ago | |
aarch64-unknown-linux-gnu-no-default-features | 1 month ago | |
aarch64-unknown-linux-gnu-workspace-hack-no-default-features | 1 month ago | |
x86_64-apple-darwin-default | 1 month ago | |
x86_64-apple-darwin-jemalloc | 1 month ago | |
x86_64-apple-darwin-no-default-features | 1 month ago | |
x86_64-apple-darwin-workspace-hack-no-default-features | 1 month ago | |
x86_64-unknown-linux-gnu-default | 1 month ago | |
x86_64-unknown-linux-gnu-jemalloc | 1 month ago | |
x86_64-unknown-linux-gnu-no-default-features | 1 month ago | |
x86_64-unknown-linux-gnu-workspace-hack-no-default-features | 1 month ago |
In this directory, we store the expected output of dependency lints.
At the moment, this is limited to linting the status of jemalloc
dependencies, but it could be extended to others in the future.
Each file corresponds to a target architecture and a set of features.
Currently, the architectures we check are x86_64-unknown-linux-gnu
for 64-bit Linux OSs, and aarch64-apple-darwin
and x86_64-apple-darwin
for ARM64- and x86-64-based Mac releases.
The set of targets is crossed with the default
and no-default-features
.
The files correspond to the output of cargo tree
, filtered to show a specific set of packages and the path where they are included.
First, the file contains the name of the dependency.
The lines following it show the depth of the dependency, followed by the name of the lib crate that include the dependency.
Lastly, each line lists the effective flags.
The crate's name is empty if it is a non-library crate, for example a binary-only crate.
All fields are separated by colons.
The following example shows the that crate named tikv_jemalloc_ctl
is included by materialized
through mz_prof
.
tikv_jemalloc_ctl
0:materialized:
1:mz_prof:jemalloc,tikv-jemalloc-ctl
2:tikv_jemalloc_ctl:default,use_std
The files are checked and generated by lint-deps.sh
.
Use the --rewrite
option to update the files if the set of dependencies or features change.
However, note the specifics for jemalloc
below.
jemalloc
--no-default-features
unequivocally disables jemalloc, regardless of platform.--features=jemalloc
unequivocally enables jemalloc, regardless of platform.--default-features
chooses the best allocator for the platform: the system allocator on macOS and jemalloc on Linux.To determine the validity of changes, ensure that the following files mention the tikv-jemallocator family of dependencies:
And that the following files do not mention the tikv-jemallocator family of dependencies: