From 75db9f08c273dab30a7d1879377fbc41d66fc8f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 19:25:26 +0100 Subject: [PATCH 01/10] WIP --- .github/renovate.json5 | 14 -------------- renovate.json | 28 ++++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 14 deletions(-) delete mode 100644 .github/renovate.json5 create mode 100644 renovate.json diff --git a/.github/renovate.json5 b/.github/renovate.json5 deleted file mode 100644 index 87f5f103ddfca..0000000000000 --- a/.github/renovate.json5 +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - // Let Renovatebot keep an opened issue that tracks our dependencies - "dependencyDashboard": true, - // Disable "normal" package updates - "enabledManagers": [], - // Update lockfiles once per week - "lockFileMaintenance": { - "enabled": true, - "schedule": [ - "before 5am on Tuesday" - ] - } -} diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000000000..05156b63819d2 --- /dev/null +++ b/renovate.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "schedule": "at any time", + "dependencyDashboard": true, + "branchPrefix": "renovatebot/", + "enabledManagers": [ + "cargo" + ], + "forkProcessing": "enabled", + "includePaths": [ + "src/bootstrap/Cargo.toml", + "library/Cargo.toml" + ], + "packageRules": [{ + "matchFileNames": ["src/bootstrap/Cargo.toml"], + "enabled": true, + "groupName": "bootstrap Cargo.lock" + }, { + "matchFileNames": ["library/Cargo.toml"], + "enabled": true, + "groupName": "library Cargo.lock" + }], + "rangeStrategy": "in-range-only", + "lockFileMaintenance": { + "enabled": true, + "schedule": "at any time" + } +} From 5a35c28e3d65f669ee5f9d011fcf305406f2ba93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 19:34:19 +0100 Subject: [PATCH 02/10] WIP --- renovate.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/renovate.json b/renovate.json index 05156b63819d2..d912c9b2525ee 100644 --- a/renovate.json +++ b/renovate.json @@ -12,10 +12,6 @@ "library/Cargo.toml" ], "packageRules": [{ - "matchFileNames": ["src/bootstrap/Cargo.toml"], - "enabled": true, - "groupName": "bootstrap Cargo.lock" - }, { "matchFileNames": ["library/Cargo.toml"], "enabled": true, "groupName": "library Cargo.lock" From a48698a719f0985b229279294b6fd277acbda3a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 19:34:36 +0100 Subject: [PATCH 03/10] WIP --- renovate.json | 1 - 1 file changed, 1 deletion(-) diff --git a/renovate.json b/renovate.json index d912c9b2525ee..af548a385d03a 100644 --- a/renovate.json +++ b/renovate.json @@ -8,7 +8,6 @@ ], "forkProcessing": "enabled", "includePaths": [ - "src/bootstrap/Cargo.toml", "library/Cargo.toml" ], "packageRules": [{ From 2ec95f611c90441ef5dbda2c974db34979d4f6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 19:40:54 +0100 Subject: [PATCH 04/10] WIP --- renovate.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/renovate.json b/renovate.json index af548a385d03a..06c24dc65dd96 100644 --- a/renovate.json +++ b/renovate.json @@ -8,13 +8,8 @@ ], "forkProcessing": "enabled", "includePaths": [ - "library/Cargo.toml" + "library/**" ], - "packageRules": [{ - "matchFileNames": ["library/Cargo.toml"], - "enabled": true, - "groupName": "library Cargo.lock" - }], "rangeStrategy": "in-range-only", "lockFileMaintenance": { "enabled": true, From 05b4f1924ee4e5263d4a724586028634b9c2d015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 20:10:33 +0100 Subject: [PATCH 05/10] WIP --- renovate.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index 06c24dc65dd96..a3bf29384c5c6 100644 --- a/renovate.json +++ b/renovate.json @@ -2,14 +2,24 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "schedule": "at any time", "dependencyDashboard": true, - "branchPrefix": "renovatebot/", + "prHourlyLimit": 0, "enabledManagers": [ "cargo" ], "forkProcessing": "enabled", "includePaths": [ - "library/**" + "src/tools/rustbook/Cargo.toml", + "src/bootstrap/Cargo.toml" ], + "packageRules": [{ + "matchFileNames": ["src/tools/rustbook/Cargo.toml"], + "enabled": true, + "groupName": "rustbook Cargo.lock" + }, { + "matchFileNames": ["src/bootstrap/Cargo.toml"], + "enabled": true, + "groupName": "bootstrap Cargo.lock" + }], "rangeStrategy": "in-range-only", "lockFileMaintenance": { "enabled": true, From 6ecef6a12d485bc4456cefee1156c15d6df2a27c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 20:17:39 +0100 Subject: [PATCH 06/10] WIP --- renovate.json | 1 + 1 file changed, 1 insertion(+) diff --git a/renovate.json b/renovate.json index a3bf29384c5c6..743edb7b78faa 100644 --- a/renovate.json +++ b/renovate.json @@ -3,6 +3,7 @@ "schedule": "at any time", "dependencyDashboard": true, "prHourlyLimit": 0, + "cloneSubmodules": true, "enabledManagers": [ "cargo" ], From d7c0d3a0157e9585f55fbbccb1108ef1ab9e3363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 21:04:19 +0100 Subject: [PATCH 07/10] WIP --- renovate.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/renovate.json b/renovate.json index 743edb7b78faa..4eadbd72e08e6 100644 --- a/renovate.json +++ b/renovate.json @@ -3,19 +3,21 @@ "schedule": "at any time", "dependencyDashboard": true, "prHourlyLimit": 0, - "cloneSubmodules": true, + "customEnvVariables": { + "RUSTC_BOOTSTRAP": "1" + }, "enabledManagers": [ "cargo" ], "forkProcessing": "enabled", "includePaths": [ - "src/tools/rustbook/Cargo.toml", + "library/**", "src/bootstrap/Cargo.toml" ], "packageRules": [{ - "matchFileNames": ["src/tools/rustbook/Cargo.toml"], + "matchFileNames": ["library/Cargo.toml", "library/**/Cargo.toml"], "enabled": true, - "groupName": "rustbook Cargo.lock" + "groupName": "library Cargo.lock" }, { "matchFileNames": ["src/bootstrap/Cargo.toml"], "enabled": true, From 7710927745c2a5f4041cd4524ee6e878dfb18e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 10 Dec 2024 21:35:45 +0100 Subject: [PATCH 08/10] WIP --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 4eadbd72e08e6..9dae0937743b2 100644 --- a/renovate.json +++ b/renovate.json @@ -3,7 +3,7 @@ "schedule": "at any time", "dependencyDashboard": true, "prHourlyLimit": 0, - "customEnvVariables": { + "env": { "RUSTC_BOOTSTRAP": "1" }, "enabledManagers": [ From 00e6acb23e6285a03426a7935b0c7749d207d0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Sun, 22 Dec 2024 12:13:15 +0100 Subject: [PATCH 09/10] WIP --- renovate.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 9dae0937743b2..b269f36644dd1 100644 --- a/renovate.json +++ b/renovate.json @@ -9,10 +9,16 @@ "enabledManagers": [ "cargo" ], + "cloneSubmodules": true, + "cloneSubmodulesFilter": [ + "!src/llvm-project", + "!src/gcc" + ], "forkProcessing": "enabled", "includePaths": [ "library/**", - "src/bootstrap/Cargo.toml" + "src/bootstrap/Cargo.toml", + "src/tools/rustbook/Cargo.toml" ], "packageRules": [{ "matchFileNames": ["library/Cargo.toml", "library/**/Cargo.toml"], @@ -22,6 +28,10 @@ "matchFileNames": ["src/bootstrap/Cargo.toml"], "enabled": true, "groupName": "bootstrap Cargo.lock" + }, { + "matchFileNames": ["src/tools/rustbook/Cargo.toml"], + "enabled": true, + "groupName": "rustbook Cargo.lock" }], "rangeStrategy": "in-range-only", "lockFileMaintenance": { From ee459b336a6d7aff5e176556226bfaa3ab525067 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Jan 2025 12:55:55 +0000 Subject: [PATCH 10/10] Lock file maintenance bootstrap Cargo.lock --- src/bootstrap/Cargo.lock | 114 +++++++++++++++++++-------------------- src/bootstrap/Cargo.toml | 1 + 2 files changed, 58 insertions(+), 57 deletions(-) diff --git a/src/bootstrap/Cargo.lock b/src/bootstrap/Cargo.lock index c9697e670b777..7cff89e168137 100644 --- a/src/bootstrap/Cargo.lock +++ b/src/bootstrap/Cargo.lock @@ -65,9 +65,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ "memchr", "regex-automata", @@ -99,9 +99,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.20" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "9560b07a799281c7e0958b9296854d6fafd4c5f31444a7e5bb1ad6dde5ccf1bd" dependencies = [ "clap_builder", "clap_derive", @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "874e0dd3eb68bf99058751ac9712f622e61e6f393a94f7128fa26e3f02f5c7cd" dependencies = [ "anstyle", "clap_lex", @@ -119,18 +119,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.37" +version = "4.5.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11611dca53440593f38e6b25ec629de50b14cdfa63adc0fb856115a2c6d97595" +checksum = "942dc5991a34d8cf58937ec33201856feba9cbceeeab5adf04116ec7c763bff1" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" dependencies = [ "heck", "proc-macro2", @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cmake" @@ -161,18 +161,18 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-common" @@ -221,12 +221,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -283,11 +283,11 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -308,9 +308,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "junction" @@ -324,9 +324,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.167" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libredox" @@ -341,9 +341,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "log" @@ -379,9 +379,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -414,27 +414,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags", ] @@ -458,15 +458,15 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rustix" -version = "0.38.40" +version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" +checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -492,24 +492,24 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" [[package]] name = "serde" -version = "1.0.215" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -518,9 +518,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" dependencies = [ "itoa", "memchr", @@ -547,9 +547,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "syn" -version = "2.0.87" +version = "2.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" dependencies = [ "proc-macro2", "quote", @@ -558,9 +558,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.33.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "948512566b1895f93b1592c7574baeb2de842f224f2aab158799ecadb8ebbb46" +checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" dependencies = [ "core-foundation-sys", "libc", @@ -606,9 +606,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "version_check" @@ -813,9 +813,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "xattr" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +checksum = "e105d177a3871454f754b33bb0ee637ecaaac997446375fd3e5d43a2ed00c909" dependencies = [ "libc", "linux-raw-sys", diff --git a/src/bootstrap/Cargo.toml b/src/bootstrap/Cargo.toml index d8775a67e1939..6da716b7a895f 100644 --- a/src/bootstrap/Cargo.toml +++ b/src/bootstrap/Cargo.toml @@ -7,6 +7,7 @@ default-run = "bootstrap" [features] build-metrics = ["sysinfo"] +bootstrap-self-test = [] # enabled in the bootstrap unit tests [lib] path = "src/lib.rs"