difftreelog
feat gc options
in: master
4 files changed
Cargo.lockdiffbeforeafterboth63 packageslockfile v3
Might be heavy and slow!
annotate-snippets
0.9.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c96c3d1062ea7101741480185a6a1275eab01cbe8b20e378d1311bc056d2e08depends onused byanyhow
1.0.40crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063bused byatty
0.2.14crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8depends onused byautocfg
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464aused bybase64
0.13.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fdused bybincode
1.3.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcaddepends onused bybitflags
1.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693used bycc
1.0.67crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fdused byclap
3.0.0-beta.2github.com/clap-rs/clap↘ 10↖ 3sourcegit+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9depends onclap_derive
3.0.0-beta.2github.com/clap-rs/clap↘ 5↖ 1sourcegit+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9used byclap_generate
3.0.0-beta.2github.com/clap-rs/clap↘ 1↖ 1sourcegit+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9depends onused byhashbrown
0.9.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04used byheck
0.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6acdepends onused byhermit-abi
0.1.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5cdepends onused byindexmap
1.6.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3depends onused byitoa
0.4.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736used byjrsonnet
0.3.8workspace↘ 7↖ 0jrsonnet-cli
0.3.8workspace↘ 3↖ 1jrsonnet-evaluator
0.3.8workspace↘ 15↖ 3jrsonnet-gc
0.4.2crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68da8bc2f00117b1373bb8877af03b1d391e4c4800e6585d7279e5b99c919ddedepends onjrsonnet-gc-derive
0.4.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumadcba9c387b64b054f06cc4d724905296e21edeeb7506847f3299117a2d92d12used byjrsonnet-interner
0.3.8workspace↘ 3↖ 2jrsonnet-parser
0.3.8workspace↘ 6↖ 4jrsonnet-stdlib
0.3.8workspace↘ 0↖ 2jrsonnet-types
0.3.8workspace↘ 2↖ 1depends onused byjsonnet
0.3.8workspace↘ 3↖ 0lazy_static
1.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646used bylibc
0.2.94crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5emd5
0.7.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771used bymimalloc-sys
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4aa3cefb626f6ae3d0b2f71c5378c89d2b1d4d7bc246b0ca9a7ee61a4daad291depends onused bymimallocator
0.1.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d44fe4ebf6b538fcf39d9975c2b90bb3232d1ba8e8bffeacd004f27b20c577adepends onused byos_str_bytes
3.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume293568965aea261bdf010db17df7030e3c9a275c415d51d6112f7cf9b7af012used bypathdiff
0.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum877630b3de15c0b64cc52f659345724fbf6bdad9bd9566699fc53688f3c34a34used bypeg
0.7.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166adepends onpeg-macros
0.7.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844cused bypeg-runtime
0.7.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088used byproc-macro-error
1.0.4crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38cused byproc-macro-error-attr
1.0.4crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869used byproc-macro2
1.0.26crates.io↘ 1↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cecdepends onquote
1.0.9crates.io↘ 1↖ 9sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7depends onrustc-hash
1.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2ryu
1.0.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86eused byserde
1.0.125crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171depends onserde_derive
1.0.125crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06ddepends onused byserde_json
1.0.64crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79depends onused bystrsim
0.10.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623used bysyn
1.0.71crates.io↘ 3↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373synstructure
0.12.4crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701used bytermcolor
1.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4depends onused bytextwrap
0.13.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835depends onused bythiserror
1.0.24crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98edepends onthiserror-impl
1.0.24crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0depends onused byunescape
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6eused byunicode-segmentation
1.7.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796used byunicode-width
0.1.8crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3unicode-xid
0.2.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3vec_map
0.8.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191used byversion_check
0.9.3crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fewinapi
0.3.9crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419winapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178depends onused bywinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused byyansi-term
0.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1depends onused by
63 packageslockfile v3
Might be heavy and slow!
annotate-snippets
0.9.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c96c3d1062ea7101741480185a6a1275eab01cbe8b20e378d1311bc056d2e08depends onused byanyhow
1.0.40crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063bused byatty
0.2.14crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8depends onused byautocfg
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464aused bybase64
0.13.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fdused bybincode
1.3.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcaddepends onused bybitflags
1.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693used bycc
1.0.67crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fdused byclap
3.0.0-beta.2github.com/clap-rs/clap↘ 10↖ 3sourcegit+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9depends onclap_derive
3.0.0-beta.2github.com/clap-rs/clap↘ 5↖ 1sourcegit+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9used byclap_generate
3.0.0-beta.2github.com/clap-rs/clap↘ 1↖ 1sourcegit+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9depends onused byhashbrown
0.9.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04used byheck
0.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6acdepends onused byhermit-abi
0.1.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5cdepends onused byindexmap
1.6.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3depends onused byitoa
0.4.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736used byjrsonnet
0.3.8workspace↘ 7↖ 0jrsonnet-cli
0.3.8workspace↘ 4↖ 1jrsonnet-evaluator
0.3.8workspace↘ 15↖ 3jrsonnet-gc
0.4.2crates.io↘ 1↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68da8bc2f00117b1373bb8877af03b1d391e4c4800e6585d7279e5b99c919ddedepends onjrsonnet-gc-derive
0.4.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumadcba9c387b64b054f06cc4d724905296e21edeeb7506847f3299117a2d92d12used byjrsonnet-interner
0.3.8workspace↘ 3↖ 2jrsonnet-parser
0.3.8workspace↘ 6↖ 4jrsonnet-stdlib
0.3.8workspace↘ 0↖ 2jrsonnet-types
0.3.8workspace↘ 2↖ 1depends onused byjsonnet
0.3.8workspace↘ 3↖ 0lazy_static
1.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646used bylibc
0.2.94crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5emd5
0.7.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771used bymimalloc-sys
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4aa3cefb626f6ae3d0b2f71c5378c89d2b1d4d7bc246b0ca9a7ee61a4daad291depends onused bymimallocator
0.1.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d44fe4ebf6b538fcf39d9975c2b90bb3232d1ba8e8bffeacd004f27b20c577adepends onused byos_str_bytes
3.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume293568965aea261bdf010db17df7030e3c9a275c415d51d6112f7cf9b7af012used bypathdiff
0.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum877630b3de15c0b64cc52f659345724fbf6bdad9bd9566699fc53688f3c34a34used bypeg
0.7.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166adepends onpeg-macros
0.7.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844cused bypeg-runtime
0.7.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088used byproc-macro-error
1.0.4crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38cused byproc-macro-error-attr
1.0.4crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869used byproc-macro2
1.0.26crates.io↘ 1↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cecdepends onquote
1.0.9crates.io↘ 1↖ 9sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7depends onrustc-hash
1.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2ryu
1.0.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86eused byserde
1.0.125crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171depends onserde_derive
1.0.125crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06ddepends onused byserde_json
1.0.64crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79depends onused bystrsim
0.10.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623used bysyn
1.0.71crates.io↘ 3↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumad184cc9470f9117b2ac6817bfe297307418819ba40552f9b3846f05c33d5373synstructure
0.12.4crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701used bytermcolor
1.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4depends onused bytextwrap
0.13.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835depends onused bythiserror
1.0.24crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98edepends onthiserror-impl
1.0.24crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0depends onused byunescape
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6eused byunicode-segmentation
1.7.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796used byunicode-width
0.1.8crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3unicode-xid
0.2.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3vec_map
0.8.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191used byversion_check
0.9.3crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fewinapi
0.3.9crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419winapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178depends onused bywinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused byyansi-term
0.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1depends onused by
cmds/jrsonnet/src/main.rsdiffbeforeafterboth--- a/cmds/jrsonnet/src/main.rs
+++ b/cmds/jrsonnet/src/main.rs
@@ -1,5 +1,5 @@
use clap::{AppSettings, Clap, IntoApp};
-use jrsonnet_cli::{ConfigureState, GeneralOpts, InputOpts, ManifestOpts, OutputOpts};
+use jrsonnet_cli::{ConfigureState, GcOpts, GeneralOpts, InputOpts, ManifestOpts, OutputOpts};
use jrsonnet_evaluator::{error::LocError, EvaluationState, ManifestFormat};
use std::{
fs::{create_dir_all, File},
@@ -61,6 +61,8 @@
output: OutputOpts,
#[clap(flatten)]
debug: DebugOpts,
+ #[clap(flatten)]
+ gc: GcOpts,
}
fn main() {
@@ -114,6 +116,7 @@
}
fn main_catch(opts: Opts) -> bool {
+ let _printer = opts.gc.stats_printer();
let state = EvaluationState::default();
if let Err(e) = main_real(&state, opts) {
if let Error::Evaluation(e) = e {
@@ -127,6 +130,7 @@
}
fn main_real(state: &EvaluationState, opts: Opts) -> Result<(), Error> {
+ opts.gc.configure_global();
opts.general.configure(&state)?;
opts.manifest.configure(&state)?;
crates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-cli/Cargo.toml
+++ b/crates/jrsonnet-cli/Cargo.toml
@@ -10,6 +10,7 @@
[dependencies]
jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.6", features = ["explaining-traces"] }
jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.6" }
+jrsonnet-gc = { version = "0.4.2", features = ["derive", "unstable-config", "unstable-stats"] }
[dependencies.clap]
git = "https://github.com/clap-rs/clap"
crates/jrsonnet-cli/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-cli/src/lib.rs
+++ b/crates/jrsonnet-cli/src/lib.rs
@@ -95,3 +95,55 @@
Ok(())
}
}
+
+#[derive(Clap)]
+#[clap(help_heading = "GARBAGE COLLECTION")]
+pub struct GcOpts {
+ /// Min bytes allocated to start garbage collection
+ #[clap(long, default_value = "20000000")]
+ gc_initial_threshold: usize,
+ /// How much heap should grow after unsuccessful garbage collection
+ #[clap(long)]
+ gc_used_space_ratio: Option<f64>,
+ /// Do not skip gc on exit
+ #[clap(long)]
+ gc_collect_on_exit: bool,
+ /// Print gc stats before exit
+ #[clap(long)]
+ gc_print_stats: bool,
+ /// Force garbage collection before printing stats
+ /// Useful for checking for memory leaks
+ /// Does nothing useless --gc-print-stats is specified
+ #[clap(long)]
+ gc_collect_before_printing_stats: bool,
+}
+impl GcOpts {
+ pub fn stats_printer(&self) -> Option<GcStatsPrinter> {
+ self.gc_print_stats
+ .then(|| GcStatsPrinter(self.gc_collect_before_printing_stats))
+ }
+ pub fn configure_global(&self) {
+ jrsonnet_gc::configure(|config| {
+ config.leak_on_drop = !self.gc_collect_on_exit;
+ config.threshold = self.gc_initial_threshold;
+ if let Some(used_space_ratio) = self.gc_used_space_ratio {
+ config.used_space_ratio = used_space_ratio;
+ }
+ });
+ }
+}
+pub struct GcStatsPrinter(bool);
+impl Drop for GcStatsPrinter {
+ fn drop(&mut self) {
+ if self.0 {
+ jrsonnet_gc::force_collect()
+ }
+ eprintln!("=== GC STATS ===");
+ jrsonnet_gc::configure(|c| {
+ eprintln!("Final threshold: {:?}", c.threshold);
+ });
+ let stats = jrsonnet_gc::stats();
+ eprintln!("Collections performed: {}", stats.collections_performed);
+ eprintln!("Bytes still allocated: {}", stats.bytes_allocated);
+ }
+}