From 9e57baf9fe781a5fb96bdd65c4592a124aef5e70 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 10 Jan 2025 15:45:54 -0800 Subject: [PATCH 1/8] bump stage0 to 1.84.0 --- src/stage0 | 802 +++++++++++++++++++++++------------------------------ 1 file changed, 350 insertions(+), 452 deletions(-) diff --git a/src/stage0 b/src/stage0 index 23ee3304b4226..f21e6fb9d4892 100644 --- a/src/stage0 +++ b/src/stage0 @@ -14,456 +14,354 @@ nightly_branch=master # All changes below this comment will be overridden the next time the # tool is executed. -compiler_date=2024-11-27 -compiler_version=beta -rustfmt_date=2024-11-27 -rustfmt_version=nightly +compiler_date=2025-01-09 +compiler_version=1.84.0 -dist/2024-11-27/rustc-beta-aarch64-apple-darwin.tar.gz=58e2ba5f6a388a5bc9ecfa1c7ec4ba3efd9662e1875ea5fba484c75c5f930227 -dist/2024-11-27/rustc-beta-aarch64-apple-darwin.tar.xz=95f3ed14a6e3093cdee83f80227c7966783fffcc0ff0be6ef095df0dc744b9f8 -dist/2024-11-27/rustc-beta-aarch64-pc-windows-msvc.tar.gz=687b58e25baa685be9357048cc1e0c469c25dc6530db55e0179234615ff4d289 -dist/2024-11-27/rustc-beta-aarch64-pc-windows-msvc.tar.xz=694e2405efb25c53575599ad6573d8c4646a168e5d4bde922ef5e7d43f3e530c -dist/2024-11-27/rustc-beta-aarch64-unknown-linux-gnu.tar.gz=4b42d00e701f90c1fff9a692f1bc1da957fcadbd1813c3066dc1f1990bceadcc -dist/2024-11-27/rustc-beta-aarch64-unknown-linux-gnu.tar.xz=4f83a8cced878c03aea2d6cec7e1d588c2b6590850664f28f3b49a3be3a8b827 -dist/2024-11-27/rustc-beta-aarch64-unknown-linux-musl.tar.gz=bae97ca3778fbaa40f6db4da4f6da0b2bb870e9880165fc3126363f55a1fb23a -dist/2024-11-27/rustc-beta-aarch64-unknown-linux-musl.tar.xz=3e617e866a8c03fef243dede8c086d085a6564aeeb5570bada62db5a16e95f2a -dist/2024-11-27/rustc-beta-arm-unknown-linux-gnueabi.tar.gz=96d2f23814db8286de9ffce7bab033aa4dc656f83aa39418c8f877a5befbb100 -dist/2024-11-27/rustc-beta-arm-unknown-linux-gnueabi.tar.xz=0433a866c4d8a434990746216232759345d3ef556b0b92358b231fc1e727962e -dist/2024-11-27/rustc-beta-arm-unknown-linux-gnueabihf.tar.gz=6a776c6eb2b7b4992eed6a127d11b8845695cdc5d23938ced2267f88f8d97033 -dist/2024-11-27/rustc-beta-arm-unknown-linux-gnueabihf.tar.xz=2649e0f522755dcd511a6459258c3c3a24808fc49d3513f3d9098b17bd0f2c79 -dist/2024-11-27/rustc-beta-armv7-unknown-linux-gnueabihf.tar.gz=02a65e970ee930b46c2d10e1eb3d2e6f2420e08bbef039f10a8311baf57f274f -dist/2024-11-27/rustc-beta-armv7-unknown-linux-gnueabihf.tar.xz=3843610c7ecf98948a5f78a364c223d520a084bc8c49ec0c3c8ec48bad6c0bf8 -dist/2024-11-27/rustc-beta-i686-pc-windows-gnu.tar.gz=75288ca1e65157b8902195ec2fff31015017c90d3b8f51890f2f851529b200cb -dist/2024-11-27/rustc-beta-i686-pc-windows-gnu.tar.xz=5c694e50b41cd6f2c7b59b891eda3e728a1a2c56617b96c9da001b35885637b4 -dist/2024-11-27/rustc-beta-i686-pc-windows-msvc.tar.gz=6d1a66c090322ccf272a425c779f9165398e6bd9e0c7e5d0a5f262086d43ed88 -dist/2024-11-27/rustc-beta-i686-pc-windows-msvc.tar.xz=e826fe8be287f8969d11f620da9d01ea0d913eba145fb79ae86bc78674f1b919 -dist/2024-11-27/rustc-beta-i686-unknown-linux-gnu.tar.gz=31e0d9a1ff97d92c391cc913fd865a0c8afd614279654350d469bdf881a1b1a3 -dist/2024-11-27/rustc-beta-i686-unknown-linux-gnu.tar.xz=3b11a6be4863cb6ad420b66558b7745431834d1fac5dbda899a384dc30b526cf -dist/2024-11-27/rustc-beta-loongarch64-unknown-linux-gnu.tar.gz=59d96cd092a56d12ea796b65225479803edadbdcb483effdfa36e191f73483f1 -dist/2024-11-27/rustc-beta-loongarch64-unknown-linux-gnu.tar.xz=0714a469cbd7d96118e9260f80fedf34b21234776904e9c8ec5b71c9493dd36a -dist/2024-11-27/rustc-beta-loongarch64-unknown-linux-musl.tar.gz=25113ca9719a036ae581f68df4dda74f1446b49ababe7bb194510fbd1b296e7a -dist/2024-11-27/rustc-beta-loongarch64-unknown-linux-musl.tar.xz=25bd910ea722fe2d4a1e66089352c92f97759ec7212af2b9a04431b469ed8e12 -dist/2024-11-27/rustc-beta-powerpc-unknown-linux-gnu.tar.gz=7a83c9f63d88849c4d691ad1d7fbe7ab5924b5a7d76378ddff5024269be95310 -dist/2024-11-27/rustc-beta-powerpc-unknown-linux-gnu.tar.xz=fbbb11b4c986186d94b0e00ebc70400d0071efc2ba3b802abdd877d86b8cacdd -dist/2024-11-27/rustc-beta-powerpc64-unknown-linux-gnu.tar.gz=6223dff24490e3e8506dfbe2b12620155d7c05fce92191cb01f3b28e269bf1be -dist/2024-11-27/rustc-beta-powerpc64-unknown-linux-gnu.tar.xz=6fb1edea73bcb76d9cb6061d1aba15ee4655a212c1bf96328a225c7c05df3462 -dist/2024-11-27/rustc-beta-powerpc64le-unknown-linux-gnu.tar.gz=0b7bc9ec0c40a6203fb62eb71fb6eeab43a4f64a2f7d0d51a1e0d041a216adb1 -dist/2024-11-27/rustc-beta-powerpc64le-unknown-linux-gnu.tar.xz=d77a49acbf26b8c9a2a5f79fdc640feb1c81b9fa38f442b81f69127f49c7cde7 -dist/2024-11-27/rustc-beta-riscv64gc-unknown-linux-gnu.tar.gz=bdf45a37fad10df4822690ea73840b38ee3e1048878982e625efbad3b2054f28 -dist/2024-11-27/rustc-beta-riscv64gc-unknown-linux-gnu.tar.xz=ad6a2f03b2e27711e1ec4eb75502782c4bc0200cfaca2b5246e0bd5b86bf29ad -dist/2024-11-27/rustc-beta-s390x-unknown-linux-gnu.tar.gz=b0cc3024a717d33775dbea63e83f317f8826e564ceb4ecb7a6cf23676f66ccdc -dist/2024-11-27/rustc-beta-s390x-unknown-linux-gnu.tar.xz=9d5b44a82803d5de5355ffced6ec1dcb9860950910bba6dc54878ad4da7ff444 -dist/2024-11-27/rustc-beta-x86_64-apple-darwin.tar.gz=c7174c35b530453182f5f0b15c6684c030a2ff2770f4cc1a4a4ba75695e53b99 -dist/2024-11-27/rustc-beta-x86_64-apple-darwin.tar.xz=c68c26159a3fb4d4380fb25488aa78223989893d7786b8ec947d82ce0cc905bc -dist/2024-11-27/rustc-beta-x86_64-pc-windows-gnu.tar.gz=c97caf7877097d78fe2191e715e3a45d827d28c27b4dabf0747f8ca522ee43f5 -dist/2024-11-27/rustc-beta-x86_64-pc-windows-gnu.tar.xz=b7794ecabc42698cb77c1c90d66676a8b1b3632108ab95954ee496ee7d6e5708 -dist/2024-11-27/rustc-beta-x86_64-pc-windows-msvc.tar.gz=28068a6e050abe21933920dba3ead2261f7d0c09687d5a86a5db51cca6e72ea9 -dist/2024-11-27/rustc-beta-x86_64-pc-windows-msvc.tar.xz=3860d7ec8564019c79551727a3a54c66453a7d654fbb89b8feeae75d9021fa77 -dist/2024-11-27/rustc-beta-x86_64-unknown-freebsd.tar.gz=6c2a918f8d40ba01e648565c98ea120d32562dd93820e8f2e33abb2aef08e1da -dist/2024-11-27/rustc-beta-x86_64-unknown-freebsd.tar.xz=5d1edcc6c4be49849c3c2d1c3c173d4a127db3cfb615093e5ee396e0d0c77366 -dist/2024-11-27/rustc-beta-x86_64-unknown-illumos.tar.gz=a64c30d82dca58d09bfa38e72bbe1457b48b101157193a3ee33dd85922bbfe9d -dist/2024-11-27/rustc-beta-x86_64-unknown-illumos.tar.xz=87d14b146386fe1f9e24fedc25e1bf9682913bbd7537047b0baef0d74cad5473 -dist/2024-11-27/rustc-beta-x86_64-unknown-linux-gnu.tar.gz=3f186913535ac59446e249f4d3e35e3d93a3f8207b31ee31b3f70af8344856bc -dist/2024-11-27/rustc-beta-x86_64-unknown-linux-gnu.tar.xz=0c17a60ebac74a9cdfc2ec69fd71a21e370ff178f4c83be6020642b55b6d78ab -dist/2024-11-27/rustc-beta-x86_64-unknown-linux-musl.tar.gz=327973698dd0ffe9b2d56b3b5929f82ec552f2002b4113fc9a738e27b0005ac0 -dist/2024-11-27/rustc-beta-x86_64-unknown-linux-musl.tar.xz=d7e2f768922ae36a9eb302667398ee308c13f829c03235682529fce90253813d -dist/2024-11-27/rustc-beta-x86_64-unknown-netbsd.tar.gz=13f327974170a0423ea6e7241cd3a454ab8c39b657a707c08f2e306a7a657b45 -dist/2024-11-27/rustc-beta-x86_64-unknown-netbsd.tar.xz=5c75388802c0ddcfa51336883f4039b6f7963e0efbe47c209bb455c12951990b -dist/2024-11-27/rust-std-beta-aarch64-apple-darwin.tar.gz=84c4c02fdecc669c5d26c49120fdece5899133c098f5ef791ea19aba33936dea -dist/2024-11-27/rust-std-beta-aarch64-apple-darwin.tar.xz=7ea047840073e6ad3123a61ca799bc56c951edbb71cb8495ecbc2029759a0190 -dist/2024-11-27/rust-std-beta-aarch64-apple-ios.tar.gz=dfb8207b4b3bc13a9704fd1d212d92a22a0e7a57293f24f28bcaa846ad4c08b6 -dist/2024-11-27/rust-std-beta-aarch64-apple-ios.tar.xz=96940a84d95b4cfdde84a501758c9dd83f5d6cb5afce9142917d5cb3dd75c040 -dist/2024-11-27/rust-std-beta-aarch64-apple-ios-macabi.tar.gz=4ed66daf59e9a8b61d66caef4b2248be72049282518d7526be771301bee2b905 -dist/2024-11-27/rust-std-beta-aarch64-apple-ios-macabi.tar.xz=013d59e32097917b269c45a837bff380a41c4f6401b0c145264cca5a1bbd91c3 -dist/2024-11-27/rust-std-beta-aarch64-apple-ios-sim.tar.gz=270a0322dd3c2342745faa8797f4f64da8c0028b322385d209ff65cf04965a47 -dist/2024-11-27/rust-std-beta-aarch64-apple-ios-sim.tar.xz=9d54f7f51c99f17ba9cfe7cbe005ddbfe598f8af6df1dfccc9ef37029cc08b41 -dist/2024-11-27/rust-std-beta-aarch64-linux-android.tar.gz=9ae4c1d6044b2c3586791f127108e308e0a381e8e14ecc20b3830ae5258a03c2 -dist/2024-11-27/rust-std-beta-aarch64-linux-android.tar.xz=689225ea098a88a88e8e2269ef53f964405a6c31b3ee2bda0fef98da4ed9178e -dist/2024-11-27/rust-std-beta-aarch64-pc-windows-gnullvm.tar.gz=f1d9c996cbe468ca93b15c76b84c544930d7452f1eff2968a298c885203f14cb -dist/2024-11-27/rust-std-beta-aarch64-pc-windows-gnullvm.tar.xz=f3f8c088d74c81b2457ddff57008cb908cc86e16d0fac60d10969e45210d88d6 -dist/2024-11-27/rust-std-beta-aarch64-pc-windows-msvc.tar.gz=fb4e5d66911a47bd63429686885cd5c7f0a6310b25622f36bb43a754300526be -dist/2024-11-27/rust-std-beta-aarch64-pc-windows-msvc.tar.xz=ab6c7d346bfd72f06fbbc198743bda35fcb7fd1e131c05c54935b6ceff282f17 -dist/2024-11-27/rust-std-beta-aarch64-unknown-fuchsia.tar.gz=32b2e0d5161f7d8354d846c91e5cb25530e78351dfcff4ebf0a6fba669e2c483 -dist/2024-11-27/rust-std-beta-aarch64-unknown-fuchsia.tar.xz=656fc4a8af570b28b3f83cd59d4e5226f15d11b5d8c26b58ca2c1b2a4e18c4df -dist/2024-11-27/rust-std-beta-aarch64-unknown-linux-gnu.tar.gz=13c98efcde78c1e187f728509f2950a0a407ba32e730877cb9ca4cbb4ba01469 -dist/2024-11-27/rust-std-beta-aarch64-unknown-linux-gnu.tar.xz=6372891715046375fd0a04e80c95bf79080db2d136e187b02ea96647e9281407 -dist/2024-11-27/rust-std-beta-aarch64-unknown-linux-musl.tar.gz=db156e0d5db6f04621e625e92323a04091c049a8b5e2b4f7e0fb2e50b81ab2ec -dist/2024-11-27/rust-std-beta-aarch64-unknown-linux-musl.tar.xz=b610214bb59b8f58be96b84b0f13e5f50473e21039f6e827fa16c446d0e9ccba -dist/2024-11-27/rust-std-beta-aarch64-unknown-linux-ohos.tar.gz=99f96b0bda31bf21853c96b3618408587f275f46ea9bd7d1fc741e58343a5625 -dist/2024-11-27/rust-std-beta-aarch64-unknown-linux-ohos.tar.xz=dfa1f209f546b457aa6ef742a645f00f55c70fde86522c737f7a560494170157 -dist/2024-11-27/rust-std-beta-aarch64-unknown-none.tar.gz=4735b29991a2337a7e2016c5a827635e17ac149372efafc0442a86b0dc0759fb -dist/2024-11-27/rust-std-beta-aarch64-unknown-none.tar.xz=fead0635c572aa4f5e5564e497f1b7e892217ebe52fea54aedacbefb32f6343d -dist/2024-11-27/rust-std-beta-aarch64-unknown-none-softfloat.tar.gz=bbb9b6fedb874a61d99d22b4cdb2d20d8b9e6c69924922312692aa526851b960 -dist/2024-11-27/rust-std-beta-aarch64-unknown-none-softfloat.tar.xz=9e0d48236676dc9947565daf0c2605316c5b4abc06bdb1c343559c46b9c4e304 -dist/2024-11-27/rust-std-beta-aarch64-unknown-uefi.tar.gz=e230ffa3d46dbe5330416cdf8b7235b8dc2cf119ef8990b422eeebd017ebd17f -dist/2024-11-27/rust-std-beta-aarch64-unknown-uefi.tar.xz=38a5560575740f92cb8664d204924cf7a2972e0f2f396852d8a22befd2cdd848 -dist/2024-11-27/rust-std-beta-arm-linux-androideabi.tar.gz=0b0a9f95d10484207c52fcd8ab1bd56903b53f18ce46fe263d5b7bb085044246 -dist/2024-11-27/rust-std-beta-arm-linux-androideabi.tar.xz=91f7655ab2bce397a0821edc0f523dbf2bac0af39a50ead106eb1de637ec5c44 -dist/2024-11-27/rust-std-beta-arm-unknown-linux-gnueabi.tar.gz=e8210f03bc18661954f147dedd0b4af721d005866c0c4fea1e91594cd6c9bc2b -dist/2024-11-27/rust-std-beta-arm-unknown-linux-gnueabi.tar.xz=56a623817e6a600e802727d59d4cd653e84cb628695e39ecb23ae99065113115 -dist/2024-11-27/rust-std-beta-arm-unknown-linux-gnueabihf.tar.gz=310a408bde58335d8011af480d4f8c38745865772d71631596cef1a79f9f4fc2 -dist/2024-11-27/rust-std-beta-arm-unknown-linux-gnueabihf.tar.xz=fd6766ea9e828adc2e43ff1654a459785eed05ad00c7f6804c742ff8ae8f6b8a -dist/2024-11-27/rust-std-beta-arm-unknown-linux-musleabi.tar.gz=e663e30526d85d89f41456a3d5bcd411397cb69e7cb9508aa1472b015963fd18 -dist/2024-11-27/rust-std-beta-arm-unknown-linux-musleabi.tar.xz=0361504ada464a7d21e7ac66fdf9e1e820695f3a8ca4854695e78a748c5c7a18 -dist/2024-11-27/rust-std-beta-arm-unknown-linux-musleabihf.tar.gz=c375be97e626900d809390c61bf6f2d689c9fca8e58c85e4e02b694bed4c5ce0 -dist/2024-11-27/rust-std-beta-arm-unknown-linux-musleabihf.tar.xz=c33e3b4f9098860f75fcc9a8f86c7e7173692ad4c19cbb2c0de068961f87c192 -dist/2024-11-27/rust-std-beta-arm64ec-pc-windows-msvc.tar.gz=3f50d9afd9df4db85958e4575429dd4c80b6702a8d91c3f1d9327345aaadefe0 -dist/2024-11-27/rust-std-beta-arm64ec-pc-windows-msvc.tar.xz=0016d3a6ec8351ee9fac2eeae358a0854a3c2b360822bb3ba670255e8f27f57e -dist/2024-11-27/rust-std-beta-armebv7r-none-eabi.tar.gz=f23117b972ccd21c0a6f4db4b544401045c9f157595a297fb56d7e864cf190fe -dist/2024-11-27/rust-std-beta-armebv7r-none-eabi.tar.xz=ab9be4bb25b1575af276cbec7fb1a1f8c683741b0f137bca7b4b61ab13575645 -dist/2024-11-27/rust-std-beta-armebv7r-none-eabihf.tar.gz=673561456e26bc992cb6a888c34c0b6b13e1bd0d3e0764360a785a6c3369f0d0 -dist/2024-11-27/rust-std-beta-armebv7r-none-eabihf.tar.xz=29c6f01c636bcd901b88e92c60874c454369efd41f690d74b1fa2adf3450166a -dist/2024-11-27/rust-std-beta-armv5te-unknown-linux-gnueabi.tar.gz=c214d4439676a19c057324dc736d63aa0328ac74c0eb9ced8d782d8bc89757ae -dist/2024-11-27/rust-std-beta-armv5te-unknown-linux-gnueabi.tar.xz=4baf85ac632750c35d007bcae8f23720208c5197f4a1d49b0a85b2b0e137f603 -dist/2024-11-27/rust-std-beta-armv5te-unknown-linux-musleabi.tar.gz=a7e81c0e80f2508c81ba9d8e658dabeb19af2de6f7365f6e377d39e99d8449e7 -dist/2024-11-27/rust-std-beta-armv5te-unknown-linux-musleabi.tar.xz=3f37f746aaa03107573a3a2b201c15bf86777ec405dc03640e7d3f24f718f67f -dist/2024-11-27/rust-std-beta-armv7-linux-androideabi.tar.gz=fe7c7ecb8a8e612caf0e7ecf04d18ccaed31d8b93911ded6b3cba0c78fcbbddc -dist/2024-11-27/rust-std-beta-armv7-linux-androideabi.tar.xz=d571b714821de4b7d2accad221b5e043e7f9aead8dbc06586f4f7ff3f3f3e38e -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-gnueabi.tar.gz=663396f0e4c45bfc041b1a502b64627620f499ca6343664633761c3fb1c2229e -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-gnueabi.tar.xz=4d8c47d74958e3b1058ab721e9c6635774afad0252f251b0c9fe4f0895d0c81e -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-gnueabihf.tar.gz=3cba82809bc1204b6e8f62877c5e9f9a08f111da7d439032cc30d55be0e88fd7 -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-gnueabihf.tar.xz=d525a4dde496e72fd18c6f2a525756d652ced436007f513267e9201d8b1c0a40 -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-musleabi.tar.gz=ec0311a0722f205b117160817b2137e9a73f0f4e540930d61c831ceba1265f0d -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-musleabi.tar.xz=c63c4a28225dfca26baab129f06d8537fae5710083046f203a2fb73c50b48671 -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-musleabihf.tar.gz=52eae1bdf37366bf406cff95e5e7979d0651979ae5ad4c036e8badddc8ec8b82 -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-musleabihf.tar.xz=542791fb5cd80fe5515ab0812c9fd8671f083151d4262fc76d26f7723ba961e1 -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-ohos.tar.gz=91697f75c762bdb51f19348953768a45bc37c389c2e904a56f4f092604ed2d1c -dist/2024-11-27/rust-std-beta-armv7-unknown-linux-ohos.tar.xz=a79a7a5974b365f70598c413da3db8262d14414e3b4d48dde45f529bca4c6ef8 -dist/2024-11-27/rust-std-beta-armv7a-none-eabi.tar.gz=6eec497ec2aaf6c5beb8e6dfbeaf32190b6f7206aebffb7499b5fdd7e5e7643a -dist/2024-11-27/rust-std-beta-armv7a-none-eabi.tar.xz=234924a6746fed2efa112b0b805d0ca56252b6cde82e6422774871e9c009fed6 -dist/2024-11-27/rust-std-beta-armv7r-none-eabi.tar.gz=1b0cd107412fae22266267bd8eccd2b39a36afa8936da3888d0bd0d2f4cfdb1c -dist/2024-11-27/rust-std-beta-armv7r-none-eabi.tar.xz=0d0d1ee48f9032df88ea7b3f73f06300686f4d5b9fc16f1d4554caf8356cfd74 -dist/2024-11-27/rust-std-beta-armv7r-none-eabihf.tar.gz=72f0549de44925bd08286e092261164dac47826124123e3fe707411a3dfa756c -dist/2024-11-27/rust-std-beta-armv7r-none-eabihf.tar.xz=eb45acd55dd70be3670de83c8cbef5b6ef05827b3f97b7c71679a19c88f8f3e6 -dist/2024-11-27/rust-std-beta-i586-pc-windows-msvc.tar.gz=edd8dadbba618f2a786dfcc68e4a5c7f2b7cf1528d1c16ca6ddbc52622df95c6 -dist/2024-11-27/rust-std-beta-i586-pc-windows-msvc.tar.xz=ae59c5d77b31aeac30c22104abc0abda6b7f725419e9f86db6cae634ededf262 -dist/2024-11-27/rust-std-beta-i586-unknown-linux-gnu.tar.gz=8996c94269e4c60270d253ea75bddb9482facc441ee2314a387888924bea1d92 -dist/2024-11-27/rust-std-beta-i586-unknown-linux-gnu.tar.xz=f6b59e3d6e7f0e458c048ad4aad9a2da23f3b54aeac20a905d2e00379da1bd6a -dist/2024-11-27/rust-std-beta-i586-unknown-linux-musl.tar.gz=85f22b148be72691214dee620eac582405dc3b8937d2ef7c480c9070b963af3a -dist/2024-11-27/rust-std-beta-i586-unknown-linux-musl.tar.xz=4b48538541dd20fad8569cb3f0994d5ce6aceaacdd8b319d00b0234cefc5c267 -dist/2024-11-27/rust-std-beta-i686-linux-android.tar.gz=6e5ce19fc4cd8cf4dbaca8b31f4032b08ee413ce20f354186e4945efd4e8b6af -dist/2024-11-27/rust-std-beta-i686-linux-android.tar.xz=5e78b98abdf2b7348381863052c109beec025a5f68285ce72e6f6e9245c22ce3 -dist/2024-11-27/rust-std-beta-i686-pc-windows-gnu.tar.gz=50057f990d1127e7d693b1c5b9539b19262a478130bed51dbc2837d61d2db6da -dist/2024-11-27/rust-std-beta-i686-pc-windows-gnu.tar.xz=ea524b276e42a1cb918625df12b8d3397ada5ecd43bb9ad5c676747e1f916c8b -dist/2024-11-27/rust-std-beta-i686-pc-windows-gnullvm.tar.gz=c7c9093e277187590b86ea02fcd940071c8bce93a894396d73953276ec58eb1d -dist/2024-11-27/rust-std-beta-i686-pc-windows-gnullvm.tar.xz=a67879ff0dcc591d30a155fd972149953eaac3b139bec9aca3a383dc277ddbc6 -dist/2024-11-27/rust-std-beta-i686-pc-windows-msvc.tar.gz=a086c8272f9c7c0db3d5de37b027478dfc22fc577c613254a821700c645df3c9 -dist/2024-11-27/rust-std-beta-i686-pc-windows-msvc.tar.xz=8ac4b938e0b643e47d6d0ba6e5283887fcc73cb1a825fc065c35879b085d9c28 -dist/2024-11-27/rust-std-beta-i686-unknown-freebsd.tar.gz=3614b95b54ca24c598e3ed6e14aaa86f7048c2a5be2b3e9f97d9ca00f3d890ce -dist/2024-11-27/rust-std-beta-i686-unknown-freebsd.tar.xz=6d36127f5c113b01300fa0d54062bc1137b51d2514346c8d84bafb9f2c56a972 -dist/2024-11-27/rust-std-beta-i686-unknown-linux-gnu.tar.gz=a6d33a96eeb667f3f4649ea6ccdd6212a183bce85f095ff7db5036c3a50d35a6 -dist/2024-11-27/rust-std-beta-i686-unknown-linux-gnu.tar.xz=bab1dada484d61bb96e2834da5fc6ed5d4d788e6636849e9802f9fb6bff45d55 -dist/2024-11-27/rust-std-beta-i686-unknown-linux-musl.tar.gz=0ac331a1c9e384430a5f316809bffdf01bae3ae9cc1f807f07142ffde7388602 -dist/2024-11-27/rust-std-beta-i686-unknown-linux-musl.tar.xz=136341bbf4c820dfc98e96cee41fa0e9fcbc7d81d2772407efaf1d4be6d10f7f -dist/2024-11-27/rust-std-beta-i686-unknown-uefi.tar.gz=32f06ca3b2752a8687e2f282a59823671fcec672bffc0775a9fb27da50b6bb11 -dist/2024-11-27/rust-std-beta-i686-unknown-uefi.tar.xz=b2f376089b39a34f3308833ce9bf65200f9665e5c55bbda3e5b7e9c5096b7e67 -dist/2024-11-27/rust-std-beta-loongarch64-unknown-linux-gnu.tar.gz=a2ca950893c93be71c7db707230b98674a29c013546e27d95bdf8c3c6eebf9a7 -dist/2024-11-27/rust-std-beta-loongarch64-unknown-linux-gnu.tar.xz=c70b58f4583578347e9f0fa20d17bd5fc51d88717095e05d73091209f2a363be -dist/2024-11-27/rust-std-beta-loongarch64-unknown-linux-musl.tar.gz=ed284c40b6253c022e39718dc2af2e4100ca7e805d35d86aca04937586f26ece -dist/2024-11-27/rust-std-beta-loongarch64-unknown-linux-musl.tar.xz=3efcabf46e0d02505ebf0926c6c14e0c70838f9b510f2328ccd98dd0fa977794 -dist/2024-11-27/rust-std-beta-loongarch64-unknown-none.tar.gz=9b9f8418fdf64fef652f15b28a1a1f2f8c63c18da8b323994f10f921010721ab -dist/2024-11-27/rust-std-beta-loongarch64-unknown-none.tar.xz=fdc673e4b250424c6dafc18a165ffb592aecd7b897e483af8ca54aa145a0e6a9 -dist/2024-11-27/rust-std-beta-loongarch64-unknown-none-softfloat.tar.gz=802d22c1c364a58402f9313c6ba2f58b79f3cf3163842a608b78680fa2b3d476 -dist/2024-11-27/rust-std-beta-loongarch64-unknown-none-softfloat.tar.xz=dc4932d91d8a2887d309dbd6317d6c41afd083043f44742138ca7c97f60b931c -dist/2024-11-27/rust-std-beta-nvptx64-nvidia-cuda.tar.gz=636b19ca036fc7ddcf358062c98f6bcf31e8c2cd035cbb9dc0a6b96c81217f7c -dist/2024-11-27/rust-std-beta-nvptx64-nvidia-cuda.tar.xz=31f80fc50be95bf665d21fe52b714532ff34ebfcdc0c975bb68f7d2f2cebd0e0 -dist/2024-11-27/rust-std-beta-powerpc-unknown-linux-gnu.tar.gz=f2c83275df652bc5b387525e77a1aa30bac31fb301b304ddd7e6bf402e140c34 -dist/2024-11-27/rust-std-beta-powerpc-unknown-linux-gnu.tar.xz=41358bdb20fe3a97a95fd7b656b1ed03d5b8012354d8cfad2437bc9ef6c7aeb6 -dist/2024-11-27/rust-std-beta-powerpc64-unknown-linux-gnu.tar.gz=49b8f286b4abb3b34bd38c92ea3e15efbd1f623d5efa7bcff10711b595363579 -dist/2024-11-27/rust-std-beta-powerpc64-unknown-linux-gnu.tar.xz=283f065701c77fa47a2d5413d20fa40989fbbcc75bc938889de6c4f9b6b9e53e -dist/2024-11-27/rust-std-beta-powerpc64le-unknown-linux-gnu.tar.gz=d0ee5ba5dd6f94dc6ca981be0d55f2e3f51c2af25877131a7a74e0ab9848dc3d -dist/2024-11-27/rust-std-beta-powerpc64le-unknown-linux-gnu.tar.xz=79c78bb31022ec8e7a3fad9823c5d22ac553d389104844110473d1877d8c8302 -dist/2024-11-27/rust-std-beta-riscv32i-unknown-none-elf.tar.gz=b953686e3034f2b51033a2630328c8eb5f59fdf8ef4e26189bddb8efb4c482cf -dist/2024-11-27/rust-std-beta-riscv32i-unknown-none-elf.tar.xz=fb25ac2e68594d379f915f0555b3ded2b1a7b5a67144e12eb62949f540b0d957 -dist/2024-11-27/rust-std-beta-riscv32im-unknown-none-elf.tar.gz=fbf5a16a57de3a7e846389aebe18bc7871f43e67eff39fc9b4744b5a445b2639 -dist/2024-11-27/rust-std-beta-riscv32im-unknown-none-elf.tar.xz=55a92aa5770924a21b706724c15f58d66ef2ca5b630f7025f6ba1416152ef350 -dist/2024-11-27/rust-std-beta-riscv32imac-unknown-none-elf.tar.gz=b880b7209ea604761ad2a46832925d32fc547737b879645fd3cf99ec235e7b39 -dist/2024-11-27/rust-std-beta-riscv32imac-unknown-none-elf.tar.xz=c48cc6a6fda06fab014c0b8fef49006dd32fb71f8e981ba44a0c25d47fbfe034 -dist/2024-11-27/rust-std-beta-riscv32imafc-unknown-none-elf.tar.gz=7d133b6c8d0e8b8ec8b65a74ed8d64a22e2fa5e4f6d4a1e36f9e0ebb8826f40e -dist/2024-11-27/rust-std-beta-riscv32imafc-unknown-none-elf.tar.xz=1c507e003c38115bfffe8701df1ff7aed6ad16ef5ac4b383f84bd2d6aa0216bd -dist/2024-11-27/rust-std-beta-riscv32imc-unknown-none-elf.tar.gz=111a909b3d1a04b328ca1c1f247ee4eaaa84349eeaa8df77f7901bbc0efc94c1 -dist/2024-11-27/rust-std-beta-riscv32imc-unknown-none-elf.tar.xz=d29f92ed071c60259feaa8005eb5392da549f8e2069fecb1b77e112f89cf1bbc -dist/2024-11-27/rust-std-beta-riscv64gc-unknown-linux-gnu.tar.gz=241b1ec9ef6a89277944c9d8021f521284dc28822c5f80513b6cd94d2bdd1d64 -dist/2024-11-27/rust-std-beta-riscv64gc-unknown-linux-gnu.tar.xz=9f5b02be846fa2084becc5616f024094d47beca102442ac7a0e3588e0f12ee7e -dist/2024-11-27/rust-std-beta-riscv64gc-unknown-linux-musl.tar.gz=7272eae1625415c0f57bf541dd62c14e02b9946ca1de04615827a1f5218c2181 -dist/2024-11-27/rust-std-beta-riscv64gc-unknown-linux-musl.tar.xz=d4bcd0068d3c9e7351565fec57ca68d36c9ddbfe59249a6bd2c56930ebad2257 -dist/2024-11-27/rust-std-beta-riscv64gc-unknown-none-elf.tar.gz=758ccc47004398add2e3cfef52e4839e14dc4d132a215658e576e590401a28ca -dist/2024-11-27/rust-std-beta-riscv64gc-unknown-none-elf.tar.xz=6902fee1027b0136f8dc5179e69e24ed9e34366e9409129b9ba223043ddadea1 -dist/2024-11-27/rust-std-beta-riscv64imac-unknown-none-elf.tar.gz=3024570f3e382a57fce0e832c52d080a83d42206d8412b724361bd1f0087ec4d -dist/2024-11-27/rust-std-beta-riscv64imac-unknown-none-elf.tar.xz=20eaa72b6fa32b9884b43030a0bee554bafa9de3f3b51c5768ba0ff47ec492c1 -dist/2024-11-27/rust-std-beta-s390x-unknown-linux-gnu.tar.gz=a3eae70be3fa5b0a56cc88cc6433cdb7c42b3b974caf0d879d21a5219f4f826e -dist/2024-11-27/rust-std-beta-s390x-unknown-linux-gnu.tar.xz=1da88d1882d4dd1f15ca97e016f392a01b56951882ae75929023e83fa557d796 -dist/2024-11-27/rust-std-beta-sparc64-unknown-linux-gnu.tar.gz=387cc8ccaeed6f9c6a8c9d21004e45ac97a9739643a63448eb893e13ed4df22d -dist/2024-11-27/rust-std-beta-sparc64-unknown-linux-gnu.tar.xz=1b9afe3631fb7847b2a8a8f483fc00ca203ccc18ae298339801dab1c7b06b3b3 -dist/2024-11-27/rust-std-beta-sparcv9-sun-solaris.tar.gz=f9a4d2115d6fce06e0da7a9f579b197d383034c218573e145b3c7dae0aad21d4 -dist/2024-11-27/rust-std-beta-sparcv9-sun-solaris.tar.xz=c352bc631e538d4e68eaaccdfb9dca1c9dc8ff0ef4a75d8ee91016aada39d717 -dist/2024-11-27/rust-std-beta-thumbv6m-none-eabi.tar.gz=d97851ca9193d98192a55aeaf695973ac706e6ba3e198643c200cf410817b424 -dist/2024-11-27/rust-std-beta-thumbv6m-none-eabi.tar.xz=89a6524a3743e5a769a583b4a6bf8a76ef5b45c67b7e39da7ae24b687bed4943 -dist/2024-11-27/rust-std-beta-thumbv7em-none-eabi.tar.gz=6fe614db166618a8f2ccb5807e02884daa8bd8dfded2164f88d79fc688047020 -dist/2024-11-27/rust-std-beta-thumbv7em-none-eabi.tar.xz=91c5e4f4575ab004119797988679077e5057881ad9a7f6790b673dd062a8b7ee -dist/2024-11-27/rust-std-beta-thumbv7em-none-eabihf.tar.gz=d0e05467fb1562ed7d6687a50b7fafa14ba0c2aad328f0e7c19eaca1ee366475 -dist/2024-11-27/rust-std-beta-thumbv7em-none-eabihf.tar.xz=0473372df5fece49e58efcd3b2a702bb93e47ec149b38fd5244ad667804e7c63 -dist/2024-11-27/rust-std-beta-thumbv7m-none-eabi.tar.gz=e6b6130a1a571325cc1bda8ddba6b2672104c2feeed5c93c6022bfcc8ba4b247 -dist/2024-11-27/rust-std-beta-thumbv7m-none-eabi.tar.xz=d4c739c42104e04aba55b96a3ad434e11b013ba44649dd3a648cfbb15de83eb9 -dist/2024-11-27/rust-std-beta-thumbv7neon-linux-androideabi.tar.gz=e427d5d6a53abfb53b436df96457d58eedc648198fce6b1d976b50de18cbc31a -dist/2024-11-27/rust-std-beta-thumbv7neon-linux-androideabi.tar.xz=11142018c11849c21adaa7096abf50d0c923f3b8f07d67eb96d6860d428e9b27 -dist/2024-11-27/rust-std-beta-thumbv7neon-unknown-linux-gnueabihf.tar.gz=46596d8f2271dd5a6f0f84387ac19d0e81976adfc6050b6aab6cc554102fe469 -dist/2024-11-27/rust-std-beta-thumbv7neon-unknown-linux-gnueabihf.tar.xz=f3d0c9db1c50a018540278433fed2e0ae4bc798aa0dac87cf0f55ad1808618a1 -dist/2024-11-27/rust-std-beta-thumbv8m.base-none-eabi.tar.gz=c46fc4bf174fc54f5565fa04e80efff4e853642e3e5f0bf5b696a2bd6e7ae817 -dist/2024-11-27/rust-std-beta-thumbv8m.base-none-eabi.tar.xz=706c10ef22cc16b3d4cab8fc09d8783384313b9f774229470b8ae1dd292850b2 -dist/2024-11-27/rust-std-beta-thumbv8m.main-none-eabi.tar.gz=b9cec80ed374f7b5f22f1446e3f2e0dacfaa0e2d4d6c631ad66cc42a23e156f7 -dist/2024-11-27/rust-std-beta-thumbv8m.main-none-eabi.tar.xz=41c67ee95e72a3d10bdf739c4841bd937c4e0b19c33451724c1f603b4bd2a318 -dist/2024-11-27/rust-std-beta-thumbv8m.main-none-eabihf.tar.gz=5ad8603f98cff0d5d015c72f3a55730d75d59680a867c067928bf4586c00d805 -dist/2024-11-27/rust-std-beta-thumbv8m.main-none-eabihf.tar.xz=61a75701f7e000f86f318a04dc6746f029fb933e0ea94944d76c7eefca1f24b2 -dist/2024-11-27/rust-std-beta-wasm32-unknown-emscripten.tar.gz=89bfbfea23974ed75a53ff134386992e9c257d3e51a55eb49847aec9c5ba6b13 -dist/2024-11-27/rust-std-beta-wasm32-unknown-emscripten.tar.xz=e34d1586bc6767b4b244f98754badda706645fdec7168ddc0a409b9f95f2b18d -dist/2024-11-27/rust-std-beta-wasm32-unknown-unknown.tar.gz=8a88bb923e138d0015c8f46bc1c3d5f2f5f75f40dddfca72a49eed42c080d1db -dist/2024-11-27/rust-std-beta-wasm32-unknown-unknown.tar.xz=79a980f2b999c3e3b04d7e327bd2b548007039b45da705847c6da2bfec3ffc04 -dist/2024-11-27/rust-std-beta-wasm32-wasip1.tar.gz=454e2c4b46b4684e591c6e4c0f1ce8e3c44623a29d561be3a481ae008072dbd5 -dist/2024-11-27/rust-std-beta-wasm32-wasip1.tar.xz=4dcf652ab51fe03c4691de46365218dc483cf1f7c2f5a552a38509685a0ca873 -dist/2024-11-27/rust-std-beta-wasm32-wasip1-threads.tar.gz=c2c34d9b3998633cfa145dc2a5568a99d1fe26b91c5be55a08870a1d27db4af7 -dist/2024-11-27/rust-std-beta-wasm32-wasip1-threads.tar.xz=4d5b25e4b5fb71d879f15f320f7513eec1ad078d3ca6f525ebf56b9620bdb5ad -dist/2024-11-27/rust-std-beta-wasm32-wasip2.tar.gz=e1385a340d3d9a4003cc456156bfbb1435a5255b2bdae3a40b6d7339768bdc81 -dist/2024-11-27/rust-std-beta-wasm32-wasip2.tar.xz=245e7914174d213ddbb550b09fff200f419bcd632de98548a470013891666410 -dist/2024-11-27/rust-std-beta-wasm32v1-none.tar.gz=d5d924ea001f914bf87df8765b013db6e838a930a4865e95f8d35bfaa86bc81e -dist/2024-11-27/rust-std-beta-wasm32v1-none.tar.xz=bb98d0d55f38f2308bf99d4e5f11842683452571075eefa5b4e1f18f2bd553bf -dist/2024-11-27/rust-std-beta-x86_64-apple-darwin.tar.gz=edd5e7ea230a13be750dd74c5f7a7dee20db8683f7978aeb352307a0ce110b9d -dist/2024-11-27/rust-std-beta-x86_64-apple-darwin.tar.xz=c6cec9a501d9873e3c7abdefd5b9418f7250c8cb915be8b816cb48dedf1f201e -dist/2024-11-27/rust-std-beta-x86_64-apple-ios.tar.gz=e970c2a4ebfb69219dc66e4c7541cf22c52da5f94983c7c914df1f93beda3d31 -dist/2024-11-27/rust-std-beta-x86_64-apple-ios.tar.xz=594ae9bf5f1501322d986dc91249a48a61c22371513b872fd63e134097ac55ca -dist/2024-11-27/rust-std-beta-x86_64-apple-ios-macabi.tar.gz=d57bf579b4629417dbe1c02506db4a4ba4428871a2684141d21303e6c99551f5 -dist/2024-11-27/rust-std-beta-x86_64-apple-ios-macabi.tar.xz=714db83e7563a5f286fb37bc629b64834a9ed981bb9a05931122072f95e39bf8 -dist/2024-11-27/rust-std-beta-x86_64-fortanix-unknown-sgx.tar.gz=feafcba9c46ba3e5fa0bd9b5bedc05ef3423c9962dc4d25a7b2367e3e1caa679 -dist/2024-11-27/rust-std-beta-x86_64-fortanix-unknown-sgx.tar.xz=78fbc8f45df64dca21da7223b5d081111922f2268fcc4f1f83595d159d310bce -dist/2024-11-27/rust-std-beta-x86_64-linux-android.tar.gz=74fb57da7f2907afbaa2a7a73847273ef81e2d6902a326f1ae87767677a864d3 -dist/2024-11-27/rust-std-beta-x86_64-linux-android.tar.xz=3216eb73d9c9effcd2a2de7f63d78055c3d7e50fb8141e2910a45a36ce744ffb -dist/2024-11-27/rust-std-beta-x86_64-pc-solaris.tar.gz=3df431c8941ac28906c3a6568d3debe478d9349d868ea8bd3ad79e65792c20e8 -dist/2024-11-27/rust-std-beta-x86_64-pc-solaris.tar.xz=548c2a6104148bf0da21bf5e009b80522fd15539077a62021a64f16282815a5e -dist/2024-11-27/rust-std-beta-x86_64-pc-windows-gnu.tar.gz=235228431d67feb4c8e6aad44e20bf68574f335e8f948808b597ae98d827171d -dist/2024-11-27/rust-std-beta-x86_64-pc-windows-gnu.tar.xz=5a2d4ed70aed26f902cf45e1dcabc5f25884cf6e9aaff775405ba9c1f0a5cacd -dist/2024-11-27/rust-std-beta-x86_64-pc-windows-gnullvm.tar.gz=818131158e8be6af4b762750f7927c4a799346c94059a6073230da79b4408720 -dist/2024-11-27/rust-std-beta-x86_64-pc-windows-gnullvm.tar.xz=fc08b39833e2c9319dcb55cef5c6d1f0110aea794c9a6f163ca39749a22a94b9 -dist/2024-11-27/rust-std-beta-x86_64-pc-windows-msvc.tar.gz=6164c3ade38c03113193301b815c52df0ee84a4ca1c8ef21e1a56d386e28df00 -dist/2024-11-27/rust-std-beta-x86_64-pc-windows-msvc.tar.xz=0846126e6c4cf2b5184979b6025fbb7bddb5c22905bc7ba31fff69f6b1459280 -dist/2024-11-27/rust-std-beta-x86_64-unknown-freebsd.tar.gz=ae308e29be13a176b26c142347a81facf8c11ef1a28e67d5898f4f2a0d3344ca -dist/2024-11-27/rust-std-beta-x86_64-unknown-freebsd.tar.xz=e80bcba8b011a4dd3f7b2a2cea69b5a95ae2cde9b2d9078ac8fdd492ac162139 -dist/2024-11-27/rust-std-beta-x86_64-unknown-fuchsia.tar.gz=b25f0d605b7f4a2a93adb746e32f59bfc26af569a4169e9fb203cb33751d1575 -dist/2024-11-27/rust-std-beta-x86_64-unknown-fuchsia.tar.xz=010f35236062a651b1b54d7c928068efca8dc486856b84b04e98f4f97583bf32 -dist/2024-11-27/rust-std-beta-x86_64-unknown-illumos.tar.gz=db3d258c2caea73b469feb9c11fbd3bcc29d22c3969c406321d11f05c24974ed -dist/2024-11-27/rust-std-beta-x86_64-unknown-illumos.tar.xz=a952b0c2bbed9085525c041c957f00b6b1020e031149dba70c09a1a0d40db3ad -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-gnu.tar.gz=817d3d3a931eba2255bd5721435cba7604fe37a72c18a179c1fd5f06dc3b97a1 -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-gnu.tar.xz=170a54aa50f161576d4b0d103f2ab6dcbbb81ee57a5a47f7fbd181128f6c17ff -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-gnux32.tar.gz=ea991dce55415ed7462abbeb1ac1c70795cb628b0460e14230e8cecd41117fca -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-gnux32.tar.xz=a8f620c3a641f8f4c29d88e4cc54d7637aeb18cf8eaed8571ce558835f742601 -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-musl.tar.gz=875e2e3309b1deccc1a4476e4847a2849df32e0e2a394e4ddf3b4abd1feca534 -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-musl.tar.xz=23f21ac664b3341771109ac69d094518a512391b86219ffec50725dc68a08504 -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-ohos.tar.gz=680f5b2c63f58643bd34f9921e2c1699a549410ab06bfd04ce991907e8fd7d8f -dist/2024-11-27/rust-std-beta-x86_64-unknown-linux-ohos.tar.xz=dd10f6f3ce39489b6e3f3f638573e850c36518e3b2e8ffad0c50c3143e3a8124 -dist/2024-11-27/rust-std-beta-x86_64-unknown-netbsd.tar.gz=fd31ba490f0bfc53530e34e6e5ab35a52eebee616efc8ed18d473065ea885230 -dist/2024-11-27/rust-std-beta-x86_64-unknown-netbsd.tar.xz=daffc01050f5cf0b5ece91717d7a4c42cd4a148c4c11f641b494d9c375df5177 -dist/2024-11-27/rust-std-beta-x86_64-unknown-none.tar.gz=376d571641a9f1f75fadf951da91bb73ba94a5495d7d33389f5f914ccbec57bb -dist/2024-11-27/rust-std-beta-x86_64-unknown-none.tar.xz=ffd9e826537dc94c6d8e767ef5a61d1fcf0385b8ccbe508ff9177de0fe772939 -dist/2024-11-27/rust-std-beta-x86_64-unknown-redox.tar.gz=447e434b5e40f7882d7adb6d0346629e0e3e92d0f339c7781e5a437898a84b4a -dist/2024-11-27/rust-std-beta-x86_64-unknown-redox.tar.xz=bc21caabcb492ca648e19a8f3b9dc1a1bf7792135a202831deb554ec3ea11077 -dist/2024-11-27/rust-std-beta-x86_64-unknown-uefi.tar.gz=40ca7d9ebcf6610c26f2921c0560729e708f5661bf6167266e9d8cb3987ad0b3 -dist/2024-11-27/rust-std-beta-x86_64-unknown-uefi.tar.xz=06966d5901f5d9accadb47c4d1e561f3f95bd050f3f8e78f30000389f39e9b6c -dist/2024-11-27/cargo-beta-aarch64-apple-darwin.tar.gz=e1a24f081ddd93b483c0f1c196bae676163db50fef0a994bc47c2a7c98c9dfa7 -dist/2024-11-27/cargo-beta-aarch64-apple-darwin.tar.xz=d51a5f0669906eceeee4e09b079828e2ebf3404aaedf1fb20745339205270ee0 -dist/2024-11-27/cargo-beta-aarch64-pc-windows-msvc.tar.gz=e135a5f0f83432b58d9e093c6d560b021a133707e39e1ded90a28a9967105e0f -dist/2024-11-27/cargo-beta-aarch64-pc-windows-msvc.tar.xz=1fbe65015cb8c7ab0b863ffc6f7aa72d3bf52f7830957ede8915c61a22e5b993 -dist/2024-11-27/cargo-beta-aarch64-unknown-linux-gnu.tar.gz=9d4e830e9ba582302865fcefe31883cef4a471e77d46e70838e549ca11a0fbce -dist/2024-11-27/cargo-beta-aarch64-unknown-linux-gnu.tar.xz=233f6347a36e806dcf27ecad4906c90bb3353051f440a819989efcf091cb78b8 -dist/2024-11-27/cargo-beta-aarch64-unknown-linux-musl.tar.gz=6cd719a7255a0eb1f11592b9a92d0aa4986363f624ee0d6077fcc253acab66a8 -dist/2024-11-27/cargo-beta-aarch64-unknown-linux-musl.tar.xz=b874ca8285ad1936adc70a9323cf80f06322b1e6d5925f54b58500129830f0ca -dist/2024-11-27/cargo-beta-arm-unknown-linux-gnueabi.tar.gz=ec7200319224ccabe814cb051e51d147f1ae8c763413002fd03c9263a02c2320 -dist/2024-11-27/cargo-beta-arm-unknown-linux-gnueabi.tar.xz=86e96c80a91862e59123272c80f1cfabdca56bfddcd66af4a5e840af7421c4e1 -dist/2024-11-27/cargo-beta-arm-unknown-linux-gnueabihf.tar.gz=3f7cfdcb28fe8c3f0dde58c24a0c424652b40d00a24fc50891351fa5bff5c15e -dist/2024-11-27/cargo-beta-arm-unknown-linux-gnueabihf.tar.xz=2d5a184b0103ac943ec4f6756fbc7126773e739e0d120acea7b3244c7cd19b1b -dist/2024-11-27/cargo-beta-armv7-unknown-linux-gnueabihf.tar.gz=9a77540943f28584d90b4bcae4e234cc9d833eb732f65d7fbd680a0f4e915da4 -dist/2024-11-27/cargo-beta-armv7-unknown-linux-gnueabihf.tar.xz=7696a065951b7d7179b30ff2fd16a05675b6bd4250f293666b98ec05299113a5 -dist/2024-11-27/cargo-beta-i686-pc-windows-gnu.tar.gz=eaff75076ad71a4291af5465dedf0fb0998dc171e35ab8f707ac63b43e89c38a -dist/2024-11-27/cargo-beta-i686-pc-windows-gnu.tar.xz=205d3d19726a1a87a1533d94f77b73ed9de8181906acb48088dca22835aa7a83 -dist/2024-11-27/cargo-beta-i686-pc-windows-msvc.tar.gz=58da319889533ff7be5c9142c2abdd1ade79de10eb83d7ef82ebd93b75607f8b -dist/2024-11-27/cargo-beta-i686-pc-windows-msvc.tar.xz=5ae699d0f6b9e210a988af5b8f2f0c4d62fb1695ed6fa55718fdf05298039b9c -dist/2024-11-27/cargo-beta-i686-unknown-linux-gnu.tar.gz=362f6338ea929ceb632307031e049dee1b3ed998f5cf160654c327c5e0e7ed39 -dist/2024-11-27/cargo-beta-i686-unknown-linux-gnu.tar.xz=88f14ca7b5c8af006f3c54749b61747485f7e93fde4c65b5969e73503d12c5c2 -dist/2024-11-27/cargo-beta-loongarch64-unknown-linux-gnu.tar.gz=9ee8f29e3e715cd7c85e679fd01ca724a27503a50edb0e6f8912f289630bc7a5 -dist/2024-11-27/cargo-beta-loongarch64-unknown-linux-gnu.tar.xz=4c643f0d18ba101c2b248e1df32ec3ddba82efc0d5f9b47945d484fd3d462794 -dist/2024-11-27/cargo-beta-loongarch64-unknown-linux-musl.tar.gz=f70952c63e2eebd05acc326cfa667595535fc36db34bc0262fda4ba100ff2145 -dist/2024-11-27/cargo-beta-loongarch64-unknown-linux-musl.tar.xz=0546a908cc12884801c35b461f98db01e87a7f92d276ca6cb6b89eb76c596e2c -dist/2024-11-27/cargo-beta-powerpc-unknown-linux-gnu.tar.gz=3534e839b34603e4e2b32fb8ecc76163ea3b9cd9907c1a22fde4165860d1fb56 -dist/2024-11-27/cargo-beta-powerpc-unknown-linux-gnu.tar.xz=b402a2e73debd81dc5cbc866f00c2ca82f676e2f923193674969af0ab34ad311 -dist/2024-11-27/cargo-beta-powerpc64-unknown-linux-gnu.tar.gz=fa69011557fdde5af1f78f33f9ba75a1d6f4488b9d8edd2958582593dba347fe -dist/2024-11-27/cargo-beta-powerpc64-unknown-linux-gnu.tar.xz=679be0bf62c7371b92f1824c8718662672ac3ef2d79e8af5c752fe34effbe333 -dist/2024-11-27/cargo-beta-powerpc64le-unknown-linux-gnu.tar.gz=ecc2ba0da5c1057136eb105ec0727e55396e414d75efe0c2b96bef0477961574 -dist/2024-11-27/cargo-beta-powerpc64le-unknown-linux-gnu.tar.xz=a89ad44842df861c69c6633ba79bf4ecefc38419d5669b6f22a265dd7be836f2 -dist/2024-11-27/cargo-beta-riscv64gc-unknown-linux-gnu.tar.gz=051437ff7d177bdeb7a5a0eb947d27b8cf352c8e809b9311a1cc21b785a5a8b5 -dist/2024-11-27/cargo-beta-riscv64gc-unknown-linux-gnu.tar.xz=1a4f50972104a95c404e778279a4acd42176cae45f58d316d601e7f38dc7bbc0 -dist/2024-11-27/cargo-beta-s390x-unknown-linux-gnu.tar.gz=bbe9812fe890b900e71aa4714dabd2f3e67bdc610fe0bbd5aea645ee807dd0ff -dist/2024-11-27/cargo-beta-s390x-unknown-linux-gnu.tar.xz=eebac7e8555f44ea9094750b61bd11d758197a72d4d436e1713e4bca42fa8080 -dist/2024-11-27/cargo-beta-x86_64-apple-darwin.tar.gz=6773b94f012a3d3589e2bca28f35dd23208fb245f107e4a17b8b3e7f893c038a -dist/2024-11-27/cargo-beta-x86_64-apple-darwin.tar.xz=d3a20dbd60545b0162dc06499317e342bea077cff369e053eb89e85e2b640188 -dist/2024-11-27/cargo-beta-x86_64-pc-windows-gnu.tar.gz=39e16c97c0b22533dfa674d6e8f5bf5df256e2b426d02dca5ed33e246f18d05b -dist/2024-11-27/cargo-beta-x86_64-pc-windows-gnu.tar.xz=ffd939f901c64a17c3f24fc69744cd2af1c176a45d8e5fa8209067ada403db7d -dist/2024-11-27/cargo-beta-x86_64-pc-windows-msvc.tar.gz=8addc12e74a983f3166b89d1d53ce87c92f38c7c3a62ec7c66580aa424d20516 -dist/2024-11-27/cargo-beta-x86_64-pc-windows-msvc.tar.xz=8e5622917395ff50e53b237e7322f1faf2b64f0446c41ccaa0096e57a3e7de69 -dist/2024-11-27/cargo-beta-x86_64-unknown-freebsd.tar.gz=2734d099aa1ada79346213aec8cc7ebe40312df1dfb40a32d09ccd3b6622e025 -dist/2024-11-27/cargo-beta-x86_64-unknown-freebsd.tar.xz=642edcaf16dd74c0935d28ce9b37cf1c5ecb9c03bec30f6ff0e7476760ae7ca2 -dist/2024-11-27/cargo-beta-x86_64-unknown-illumos.tar.gz=4f28de38005de48db7126dcb698b748063341de41dc71175605301837a3f7336 -dist/2024-11-27/cargo-beta-x86_64-unknown-illumos.tar.xz=ce18692f99780ec09d01816277ee4e71785bdfbd7abb4375ba8d87c1b6905ffa -dist/2024-11-27/cargo-beta-x86_64-unknown-linux-gnu.tar.gz=f1d692c3a1c280f34de167ef26af3c13a6d0a3b5ae4fb86b0a9f2178c3287a94 -dist/2024-11-27/cargo-beta-x86_64-unknown-linux-gnu.tar.xz=21f477af2b49ec8809bf8bc7b4c4919c7d2ac57782b829f5a0d9ef1967c5d71a -dist/2024-11-27/cargo-beta-x86_64-unknown-linux-musl.tar.gz=4bed61be221c1347b1649f54222b27e2a3577b84816ce1099c9f0f461c6e9e5a -dist/2024-11-27/cargo-beta-x86_64-unknown-linux-musl.tar.xz=33f463209d50ca6b04a8953c87d2177a84d1729d635de9a7c9b1a711ccb5d751 -dist/2024-11-27/cargo-beta-x86_64-unknown-netbsd.tar.gz=ce46b5b2d767cc0d790d8fd21052ecfb787dffb4218a238a339fe5f1afd26d6f -dist/2024-11-27/cargo-beta-x86_64-unknown-netbsd.tar.xz=0afd0489cb4231edc5bc1ef24a43c3f1918f681f08c1207d184fefdb46416509 -dist/2024-11-27/clippy-beta-aarch64-apple-darwin.tar.gz=6e5f1a85dad2b899567369aceac0102943ab807dad7e218c273b7b4d6393dba7 -dist/2024-11-27/clippy-beta-aarch64-apple-darwin.tar.xz=f784ac4a6ab180675396adf8256ac2bf2d1e823bef106d1c6c59911a8360692c -dist/2024-11-27/clippy-beta-aarch64-pc-windows-msvc.tar.gz=22f1e9299a24aebaf9a32471ddc6cdbf856b455d059ca077170aecf5989f8772 -dist/2024-11-27/clippy-beta-aarch64-pc-windows-msvc.tar.xz=7f3fd047ed5aa85ea6ca2b0d6103f7530d7d070c93b0f212c9d1a6491f160cbc -dist/2024-11-27/clippy-beta-aarch64-unknown-linux-gnu.tar.gz=f383ecb5cd654268f00be1f577572993c38e7386a1e1d18b864338e87c7b2b42 -dist/2024-11-27/clippy-beta-aarch64-unknown-linux-gnu.tar.xz=b2043facf587f98a8f10a92ae129b7f608297709f4ac61d683b7c813cc65e41e -dist/2024-11-27/clippy-beta-aarch64-unknown-linux-musl.tar.gz=6678d45195bd2a7b27ed2d4bad3790e6b63e376da71d112b9333760ea375c40f -dist/2024-11-27/clippy-beta-aarch64-unknown-linux-musl.tar.xz=f6c77e80c9ea4e312fc2715a9f66ea9a2e6344e3f04ab96cc572e4c0e8c915db -dist/2024-11-27/clippy-beta-arm-unknown-linux-gnueabi.tar.gz=be8c0dfde3f09bf476d6600b530aa498b01415015665429bebed8814c7568b73 -dist/2024-11-27/clippy-beta-arm-unknown-linux-gnueabi.tar.xz=4315f7623dcf0a278cccb6c8b397a29f83f70ecb9b03588f61e383e5ebaa697d -dist/2024-11-27/clippy-beta-arm-unknown-linux-gnueabihf.tar.gz=c31ff694c68f28e0f462133e783a5d732cf9c539737fc8dbbfd01a53e9a456c3 -dist/2024-11-27/clippy-beta-arm-unknown-linux-gnueabihf.tar.xz=2553ae5596b8273d8a61ec66d2e20d0c9733c9f791ca5c56217c60884f0ccf9a -dist/2024-11-27/clippy-beta-armv7-unknown-linux-gnueabihf.tar.gz=1842cf2c26ab474df47e74720c56997e270b37609f840ac50ab0b05064cb38fb -dist/2024-11-27/clippy-beta-armv7-unknown-linux-gnueabihf.tar.xz=e882b1cc2814e3c97c33991fa0a80de62556ce8f4f88307f6338a90be32b045b -dist/2024-11-27/clippy-beta-i686-pc-windows-gnu.tar.gz=7c6e08b841f21e3b8953e51a6a9fd9df0c719e8defd7b1ab0660d8920fe72185 -dist/2024-11-27/clippy-beta-i686-pc-windows-gnu.tar.xz=137aec194877446fec994a233427db419bb4f2910151c456c3ec80d9329628e7 -dist/2024-11-27/clippy-beta-i686-pc-windows-msvc.tar.gz=52ba38277ac3f80d124fdc8dd1709b8c1115cecfc53fae4731da8615a63f78cb -dist/2024-11-27/clippy-beta-i686-pc-windows-msvc.tar.xz=548d3eb599334ab98791b8ba27decff8b0de98dfcffadc994ad38aad6255cff5 -dist/2024-11-27/clippy-beta-i686-unknown-linux-gnu.tar.gz=448071394d5e647e8da8f64cfbf85e8305d85ff9357dd24737523c95eb339ab3 -dist/2024-11-27/clippy-beta-i686-unknown-linux-gnu.tar.xz=e25daa6264cf5e0a7cbcfd827e27a8e276c29c88c86cc15977c1a1650d0303f9 -dist/2024-11-27/clippy-beta-loongarch64-unknown-linux-gnu.tar.gz=9f080cc937e7209ad83fdb8bf4b2cd7b080af83dbd9061229f154785e273bfec -dist/2024-11-27/clippy-beta-loongarch64-unknown-linux-gnu.tar.xz=7d537f66195c581ff51ce8f53c4687a762daf225c7f0ce76393953ab04b804e1 -dist/2024-11-27/clippy-beta-loongarch64-unknown-linux-musl.tar.gz=2bd38261a9ef33ad687b3edcd33f283c32a493a80b56dbefc822c1116edb1f2f -dist/2024-11-27/clippy-beta-loongarch64-unknown-linux-musl.tar.xz=7e63dff1d8abe517aefeb4b1976932d23a9a7ed5e4db2398d8ba2659301f639c -dist/2024-11-27/clippy-beta-powerpc-unknown-linux-gnu.tar.gz=1495b2a49cfce014da72beb691e6c477d189ef34080acb1761b588d11b75d27a -dist/2024-11-27/clippy-beta-powerpc-unknown-linux-gnu.tar.xz=75da94f1ade2ef48674b77ded595c69ee715f62f9d9dd96e72039e27807b7314 -dist/2024-11-27/clippy-beta-powerpc64-unknown-linux-gnu.tar.gz=2d6b826fb4d3d9b61ecd3aaffdd1334f766dd5a5fb0d8279e0de26d381c5cbdc -dist/2024-11-27/clippy-beta-powerpc64-unknown-linux-gnu.tar.xz=f5ceaca2651d6002f232f71809458ad912bb5f00030790e907ff7b0e12c9e0c1 -dist/2024-11-27/clippy-beta-powerpc64le-unknown-linux-gnu.tar.gz=1a62f307197c6fd08fbeabef89f58842cfd59c6d62f530850592fe55852d61f7 -dist/2024-11-27/clippy-beta-powerpc64le-unknown-linux-gnu.tar.xz=4c65fd6a5d74527391fbc7c242a2313e5290209f5a15763d74eeaa6cba0a0ed0 -dist/2024-11-27/clippy-beta-riscv64gc-unknown-linux-gnu.tar.gz=8ab9f735a98de1949e65d51c3050b29ceba3ddc28167ba0180353253dc726392 -dist/2024-11-27/clippy-beta-riscv64gc-unknown-linux-gnu.tar.xz=0367eb23a9349ebd829d59fe0a2638557c8e57205e48f66a701b238461385bf2 -dist/2024-11-27/clippy-beta-s390x-unknown-linux-gnu.tar.gz=ffe9100ec6b81b081d5f9d840bdf01c658790d7e6bc0674e5ebb6b28f79c2f7f -dist/2024-11-27/clippy-beta-s390x-unknown-linux-gnu.tar.xz=b19b1b28bb7ddf8cf977f102acb623f65d5117c44ab8b62cf197f2d3d33c15de -dist/2024-11-27/clippy-beta-x86_64-apple-darwin.tar.gz=d986de5c01bde3469693dea7cb4248155ee9791550aa179d601066d27e45afb1 -dist/2024-11-27/clippy-beta-x86_64-apple-darwin.tar.xz=8000e46ccc2598fdb770c69c68aeb18d94db9b2847d0509f7a9c51ef28714ba7 -dist/2024-11-27/clippy-beta-x86_64-pc-windows-gnu.tar.gz=c701581f28d885889ae5c845a7b34beebb04a4631c2740e9333b69390cfaf499 -dist/2024-11-27/clippy-beta-x86_64-pc-windows-gnu.tar.xz=fc285792e6f626e133edede613a9a9a90ee12191765e2f0beac642a3b3c9ca12 -dist/2024-11-27/clippy-beta-x86_64-pc-windows-msvc.tar.gz=91afdb71bdd54e5c04fc7c933dac06d5e769627e886e20eb712524e852a01966 -dist/2024-11-27/clippy-beta-x86_64-pc-windows-msvc.tar.xz=2ef7018c7319e3a299c5eddf36748d9d293ae43eaf54662d9855fd211eb4658c -dist/2024-11-27/clippy-beta-x86_64-unknown-freebsd.tar.gz=02234d4c47478112e01d51bc7dd48cd467293e1eeba55bd383d08bc7376c471d -dist/2024-11-27/clippy-beta-x86_64-unknown-freebsd.tar.xz=a3e6a0c7f31278866d97816c5ed434b1987e0bc5a89b24283e836402803c1388 -dist/2024-11-27/clippy-beta-x86_64-unknown-illumos.tar.gz=b238ab536ac963929884da4dc9bab43679e6fa9aba4251c73ab7e5cbe5d8eeb9 -dist/2024-11-27/clippy-beta-x86_64-unknown-illumos.tar.xz=797ea7a7643a8302e45347f21c4dc6bdee617c2a9d9ccef74ed525c7d2e9dd91 -dist/2024-11-27/clippy-beta-x86_64-unknown-linux-gnu.tar.gz=d630a6b25a08af85d3d426e73d3231e018e0ab7176a5934572786147fbbf3823 -dist/2024-11-27/clippy-beta-x86_64-unknown-linux-gnu.tar.xz=d0259a0112f452ee49b8c9bebd760ab8945e5bc3a0d57b1cdc2b8e24accd35c7 -dist/2024-11-27/clippy-beta-x86_64-unknown-linux-musl.tar.gz=5febe478e5040f0f74a14c23e78eed21b080900d875d6b447354945c07677a6f -dist/2024-11-27/clippy-beta-x86_64-unknown-linux-musl.tar.xz=552c35bbe76a83439e66cf9ccd522d97e43a8fe4f6aadbabd1f02c4b2c1814dd -dist/2024-11-27/clippy-beta-x86_64-unknown-netbsd.tar.gz=ff6db2d7b84e1b01c81e494de15ccd07f60fef6dc60fa46d47e128ebaba4022c -dist/2024-11-27/clippy-beta-x86_64-unknown-netbsd.tar.xz=b27f89b175bee3769dab1c2d0c54f17ff3efba2038f3b600f4077435c7fd21d3 -dist/2024-11-27/rustfmt-nightly-aarch64-apple-darwin.tar.gz=5b5015483d0a98e9dc715c3cc8c23598c02fc14ea6e5878790ae68f2f1c8ef46 -dist/2024-11-27/rustfmt-nightly-aarch64-apple-darwin.tar.xz=ce5706f0397a1b2fd9e17dbf34ccfbc3e8c87cc81c92b54b81fd33accc2b7c06 -dist/2024-11-27/rustfmt-nightly-aarch64-pc-windows-msvc.tar.gz=3f5077c8743b5c4f233da7d0aa0aa13fc488ef0fa9da24b002bfa413d52dc845 -dist/2024-11-27/rustfmt-nightly-aarch64-pc-windows-msvc.tar.xz=087eb30f24ba7d8ee42e28bce2a6cd75e5fb7ef5dca8a738ef23fac82ad59566 -dist/2024-11-27/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.gz=28a716ef9c5318543559ab4c0c2d062b0deeab1ecec80d5d83ad5effb574f209 -dist/2024-11-27/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.xz=99cf9ec4b7bea4281f64a613784350a8ac34e9b0387fed7eb26d6f8c21c83735 -dist/2024-11-27/rustfmt-nightly-aarch64-unknown-linux-musl.tar.gz=a23c3de89603bd4d1035a267e6ee456c6de12efa4029d76ded3edf7c69285a15 -dist/2024-11-27/rustfmt-nightly-aarch64-unknown-linux-musl.tar.xz=462dfd28b631b5a6d8277920cfa8037d8583cbf6a2e5c9159c492161013e820a -dist/2024-11-27/rustfmt-nightly-arm-unknown-linux-gnueabi.tar.gz=44af5b13726cab40865580df8bc05182a2359eae64e41a92f84790ef55ca6bdb -dist/2024-11-27/rustfmt-nightly-arm-unknown-linux-gnueabi.tar.xz=0a7c0b207e745d01194d96f0fbe2402273d630d4f1aa05001a5f5371c9585a2c -dist/2024-11-27/rustfmt-nightly-arm-unknown-linux-gnueabihf.tar.gz=66e2fc688b8f746d15c0dce042f2a94e06c5b652d5e0b6534d9e992eec186784 -dist/2024-11-27/rustfmt-nightly-arm-unknown-linux-gnueabihf.tar.xz=15a2e087f7b482fa8c027fe6e6fbaf846d784c8e917fed375048a297d5e13c45 -dist/2024-11-27/rustfmt-nightly-armv7-unknown-linux-gnueabihf.tar.gz=71788ea2544f8349ec548a2f150dca2afe80a49deb91c00c46484a5e3039742d -dist/2024-11-27/rustfmt-nightly-armv7-unknown-linux-gnueabihf.tar.xz=d9fa7b780b9d8b93549abf0a3f0e6f31cc8e1e991ddf682adf3b616fe2a1f0c8 -dist/2024-11-27/rustfmt-nightly-i686-pc-windows-gnu.tar.gz=30924bad51ffa62f762d4c000f86ea3457b590f6397d65755c711ff7f77ac129 -dist/2024-11-27/rustfmt-nightly-i686-pc-windows-gnu.tar.xz=14fff13942e6a65927776c49013249b2e75aa3a630667ecf49c9ba721e47bcb4 -dist/2024-11-27/rustfmt-nightly-i686-pc-windows-msvc.tar.gz=02d82688bdf3bd3c261a4a6d4acfb07835e29ce262cdc3165ba849a6a8490bcc -dist/2024-11-27/rustfmt-nightly-i686-pc-windows-msvc.tar.xz=2a19b55bb609542ec49dea87e3b67532e5d18df8be43d0ad775bb34f4f9f96a0 -dist/2024-11-27/rustfmt-nightly-i686-unknown-linux-gnu.tar.gz=d07ca0ddfb0dd89a9cc935b2b9662379bcc9503cb28a28d68c5165f787a7d762 -dist/2024-11-27/rustfmt-nightly-i686-unknown-linux-gnu.tar.xz=de8106801b1e49dfd8a4fffbfc2a4f949218eaa011ca2085953ebf2a5ea9b141 -dist/2024-11-27/rustfmt-nightly-loongarch64-unknown-linux-gnu.tar.gz=309024f86e80a4568721b5bb61aa936e027accc251fa97acd5043b513b325576 -dist/2024-11-27/rustfmt-nightly-loongarch64-unknown-linux-gnu.tar.xz=55bf234aa2ec7fd4c6a7179f779d790e7f62969967519bacfeae84db5cd29abe -dist/2024-11-27/rustfmt-nightly-loongarch64-unknown-linux-musl.tar.gz=4bf9571182e7ef40e76c7e5905fab8ac35269ace390f5007480b4951f80cfa3b -dist/2024-11-27/rustfmt-nightly-loongarch64-unknown-linux-musl.tar.xz=2a2cde80fcbf68768ba7a99cb059a0cdc9313ad0c934383dde9598d6147ef756 -dist/2024-11-27/rustfmt-nightly-powerpc-unknown-linux-gnu.tar.gz=b747fb16b15cff3f9368ce1a1f5cad0d2930bde5a609547a3afa2679d7ab8a1a -dist/2024-11-27/rustfmt-nightly-powerpc-unknown-linux-gnu.tar.xz=b861f8361ee806d83f38afbbbf312e0e5e4d8851e7048444c409de1a83484446 -dist/2024-11-27/rustfmt-nightly-powerpc64-unknown-linux-gnu.tar.gz=ebe56700ad0948e4dcd9930730f7df8e01a5eefca1d1157fe12160d782e2a5c0 -dist/2024-11-27/rustfmt-nightly-powerpc64-unknown-linux-gnu.tar.xz=5081c9b8677314464d8a3a50220809def18badb2269d2cd8b7106f3547b0e25a -dist/2024-11-27/rustfmt-nightly-powerpc64le-unknown-linux-gnu.tar.gz=2ed9094b538b6450371311b742f2d309a1f40b2b4c84deb9867059336b76d1b0 -dist/2024-11-27/rustfmt-nightly-powerpc64le-unknown-linux-gnu.tar.xz=d9d52d9b9f4da7a457d05dd4645885d092f170bd2f751a49b4ab3b88395a5248 -dist/2024-11-27/rustfmt-nightly-riscv64gc-unknown-linux-gnu.tar.gz=a2e51d381645c6bf18502ca72fe9f10ffd309281dae87ec16c5627f232f77e50 -dist/2024-11-27/rustfmt-nightly-riscv64gc-unknown-linux-gnu.tar.xz=c526efc054c33a08626b882eebadf887a9aaf8fd60a4adf6a146659a7c1ec8d7 -dist/2024-11-27/rustfmt-nightly-s390x-unknown-linux-gnu.tar.gz=04e5b7c97b57ff7d967abb4f98374f0833108c04f6edf482b8b3fefbde340956 -dist/2024-11-27/rustfmt-nightly-s390x-unknown-linux-gnu.tar.xz=1829afdebce1c3fe249f81958de68c765db18b431927e54fc42be37ea4ab8226 -dist/2024-11-27/rustfmt-nightly-x86_64-apple-darwin.tar.gz=d6cf138d02e50168f8ee4a89abb2a4a39e19458d060d7b46cf227bba1fd4c0d8 -dist/2024-11-27/rustfmt-nightly-x86_64-apple-darwin.tar.xz=e8185262c82c064c4bb9ae6f1d3072819410de9cfca943b77605012a546c254e -dist/2024-11-27/rustfmt-nightly-x86_64-pc-windows-gnu.tar.gz=64d78f9f05a978b95b9e22a63bbb31dcf98152df5638f498a361a96d9d2b0c04 -dist/2024-11-27/rustfmt-nightly-x86_64-pc-windows-gnu.tar.xz=c07041ab84364ace58a357c18b5c4dca037852e1159edabb02f4579ac6853b4a -dist/2024-11-27/rustfmt-nightly-x86_64-pc-windows-msvc.tar.gz=7ef0122ccd3a0c77c917bd75e93358eb95d7e87d78a165c724e3f0cd90f8209c -dist/2024-11-27/rustfmt-nightly-x86_64-pc-windows-msvc.tar.xz=d0d0566a0a50e1e9e7f4251cf207bde82d96c27016f0a0acc364754561ab4881 -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-freebsd.tar.gz=e4854528c31316894339bfa97b07ec607e8956877c285778e555885ce9c8a068 -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-freebsd.tar.xz=d79c9b352ed7b2f132f06dcdf360527502b2153beb09cca968a5ced521edcd39 -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-illumos.tar.gz=df76cbeae0a61506a29db22e8743d16fcd97ef2da216ea15bf4d6cd709814017 -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-illumos.tar.xz=103cbb30bbe92da6666d84fab53dd7fe8105c2ebe62eeab5f6609488e62a481b -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.gz=5f3c61663a319d6162240192f387e10ab87e2a972062198082158a243b667d7f -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz=221b45c3928b1c45fedbeea987ad80750d3f55fbc564cf3ccf910a68447ad725 -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-linux-musl.tar.gz=18eb24fd665ce1cc4ce66b37b19c22397bff9369963b127137780870c179228d -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-linux-musl.tar.xz=bcd09587a21ea10953a14521e9e0ba7b5100e8e15b6a10cc4e7bd359200d5279 -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-netbsd.tar.gz=db712c5e1d21231770e12dc95f6bcbe2f1d04b9cde61bc7adf8b529b41773adf -dist/2024-11-27/rustfmt-nightly-x86_64-unknown-netbsd.tar.xz=43303e426752dcd15964416822cdce0e5f3012366a9b77f3d68e6011c7bacd0f -dist/2024-11-27/rustc-nightly-aarch64-apple-darwin.tar.gz=95d543a835b11cb5ccbf0578df1ce4e1846e4915622d23a36cc6e18e44e17f29 -dist/2024-11-27/rustc-nightly-aarch64-apple-darwin.tar.xz=db9e0c51c35c81c2ec8be0838f3231f7374917215792ffee159e3d7ffed855d8 -dist/2024-11-27/rustc-nightly-aarch64-pc-windows-msvc.tar.gz=bf9b83d6418bf97caf2df70a8e8298cd8fecb7b950cdaaa2cecbec243ed57c74 -dist/2024-11-27/rustc-nightly-aarch64-pc-windows-msvc.tar.xz=bb520da5b522fffb5a20eed4390990c2ab9d22eb4f77196535a84ae7a434c9f5 -dist/2024-11-27/rustc-nightly-aarch64-unknown-linux-gnu.tar.gz=4072d9ca2d617d09d394139c0b8608bb8b2b8b2b4fa450f13c41975a16a791c7 -dist/2024-11-27/rustc-nightly-aarch64-unknown-linux-gnu.tar.xz=3d75a8a534e86bb55b63f5b5b2df66ae47862cb7f3ecd1591a829435031d7279 -dist/2024-11-27/rustc-nightly-aarch64-unknown-linux-musl.tar.gz=3cf05e90bc1f95e92cca4769f74055245234037009cf464df3062238c88bc2b6 -dist/2024-11-27/rustc-nightly-aarch64-unknown-linux-musl.tar.xz=245ebb7886cfba64d667630ca8bd672520cfece0ccec3b916e3de0f26aeada52 -dist/2024-11-27/rustc-nightly-arm-unknown-linux-gnueabi.tar.gz=dadff4abd2f169f9aa1910d4ea247b7d1f767fca74238ad31485b73399ab6dda -dist/2024-11-27/rustc-nightly-arm-unknown-linux-gnueabi.tar.xz=ff97e1201e9a305673e8a9b740b7696cc4cb5e86bfaa3e137cd8e3e28cffd7a6 -dist/2024-11-27/rustc-nightly-arm-unknown-linux-gnueabihf.tar.gz=0c411e0824140323f51600d387d52bd01f601f5539d6457815e950224a6d29a4 -dist/2024-11-27/rustc-nightly-arm-unknown-linux-gnueabihf.tar.xz=dc5731a70c393f69555433d522cde8a52893bfb88beec519c1bbb03b2a0e060c -dist/2024-11-27/rustc-nightly-armv7-unknown-linux-gnueabihf.tar.gz=01ef2f07f1222fbf3e0cfc5b957c287fb886fd0bd08cbf18f90dc37fb0b63541 -dist/2024-11-27/rustc-nightly-armv7-unknown-linux-gnueabihf.tar.xz=d45042b3ea0c0ce6befea7bfdd731e890dbd1f47d1992fe8718a1363f9f18779 -dist/2024-11-27/rustc-nightly-i686-pc-windows-gnu.tar.gz=5437da4c0b73d203789829512d856a66c1697d95afb1ffeaa6347ad0f7c04672 -dist/2024-11-27/rustc-nightly-i686-pc-windows-gnu.tar.xz=a7cb4cb627d75de1ade9211d8ea489ada9ac76ed38909751861ef0cb729dcbcd -dist/2024-11-27/rustc-nightly-i686-pc-windows-msvc.tar.gz=fd6ee6fc171459092e5e8a012d9cfb7491313e021d1c38965605836b5b101b0a -dist/2024-11-27/rustc-nightly-i686-pc-windows-msvc.tar.xz=314c7cd558a3654db85d75b3ed71da7cfec3614e4a5f2c449dbc6663b64c7e3d -dist/2024-11-27/rustc-nightly-i686-unknown-linux-gnu.tar.gz=7a1118011b11befb7df2df57e4450c7611bb3503b3b3cfece9c9c7d4a304391d -dist/2024-11-27/rustc-nightly-i686-unknown-linux-gnu.tar.xz=2cb95208e77546bcce56d8d5646c3fb5e49ed711894926cb50903ba10431a36e -dist/2024-11-27/rustc-nightly-loongarch64-unknown-linux-gnu.tar.gz=4a76c4493e5ba19aaf14947a6c2e28ebfc7f2da530f1441a9fdfa328e15ea4cf -dist/2024-11-27/rustc-nightly-loongarch64-unknown-linux-gnu.tar.xz=9b361904c691e17fbf44d80c7f7789511db1d8f251d65ba9cf6fda7f06fd495f -dist/2024-11-27/rustc-nightly-loongarch64-unknown-linux-musl.tar.gz=e89dc76ab061ae23081aee1619fcbf4a94e3acefef6b9b149231f3e1c22f9ec1 -dist/2024-11-27/rustc-nightly-loongarch64-unknown-linux-musl.tar.xz=11266d557e6d1d9155e6f04f65e4815cfbfd9f8e1aaa47221030e3ff11b22f78 -dist/2024-11-27/rustc-nightly-powerpc-unknown-linux-gnu.tar.gz=30f2eae1b8694607a04c836f750b4b7c204e1e14e52ec37885b9a821c2c9646e -dist/2024-11-27/rustc-nightly-powerpc-unknown-linux-gnu.tar.xz=495316e70b26140c66b074e9d7f714ab949f422c2635cab784a5e133538e4bb9 -dist/2024-11-27/rustc-nightly-powerpc64-unknown-linux-gnu.tar.gz=ca560c4fe28051573d54f512652ac9740a2d1111aeb8e36b004a6ff9c325925c -dist/2024-11-27/rustc-nightly-powerpc64-unknown-linux-gnu.tar.xz=1191f15bb6da98b01b43f0e9d7f51c5c45d38e3c5be2b4ae5f7c0c8fd25e9a90 -dist/2024-11-27/rustc-nightly-powerpc64le-unknown-linux-gnu.tar.gz=5f85829aaab919fa4b2fa5ac843b87358e8da4797adbb6eeaed5be02666ce964 -dist/2024-11-27/rustc-nightly-powerpc64le-unknown-linux-gnu.tar.xz=7c671d366fec561f0b568bfb4b6a08a6071303077a60f76da1307453e51ebc36 -dist/2024-11-27/rustc-nightly-riscv64gc-unknown-linux-gnu.tar.gz=300307ab6cf88afc4312edaa510769e901598492deec4834176c6fc9f3eef6cb -dist/2024-11-27/rustc-nightly-riscv64gc-unknown-linux-gnu.tar.xz=6fcf91c8679f4963f7d510cc8afbc24a1070b25ea6d20d5d31ad78ea659da194 -dist/2024-11-27/rustc-nightly-s390x-unknown-linux-gnu.tar.gz=ab905f6f3119648c83a2f37ebe1a55b7899a5ac6d10070e4dbbfb89762a369af -dist/2024-11-27/rustc-nightly-s390x-unknown-linux-gnu.tar.xz=13688b6857c8b10f7fb497f07c969d406cb6b76869957b5138f4b20fcc5d7c5a -dist/2024-11-27/rustc-nightly-x86_64-apple-darwin.tar.gz=e6bb782014e34fafdc5dcf3aeb407eb636d822d346c5a8c6227cc45bc645561a -dist/2024-11-27/rustc-nightly-x86_64-apple-darwin.tar.xz=6016ae620deddc42d1d6b6134b0164dab45a204089754b73db41ec837aa88a84 -dist/2024-11-27/rustc-nightly-x86_64-pc-windows-gnu.tar.gz=ed3a381858612e25cacfd89c08496e9d06378d593ccedea4217ad4fa1ab326d4 -dist/2024-11-27/rustc-nightly-x86_64-pc-windows-gnu.tar.xz=4819bb9c25aa743de7ab7e93b10b30336a87f1f75e5122d578df2c83fbc59850 -dist/2024-11-27/rustc-nightly-x86_64-pc-windows-msvc.tar.gz=404aac87c77871c80f83cd7c59390af9af704ee468f40eba68d224d23e2c84e9 -dist/2024-11-27/rustc-nightly-x86_64-pc-windows-msvc.tar.xz=0e1e0d2454ad24fe1da2cce2dce425bc1167bbca68832da2476c7996c00ba612 -dist/2024-11-27/rustc-nightly-x86_64-unknown-freebsd.tar.gz=946d5bcc3ac0b83fd0b53b60290a6361b179f16ba2aa6a2467789ad520278792 -dist/2024-11-27/rustc-nightly-x86_64-unknown-freebsd.tar.xz=f3bd1a053399ec89dccaa7456da41d54a8e91deb5c628e4c502fdcf34c5fe780 -dist/2024-11-27/rustc-nightly-x86_64-unknown-illumos.tar.gz=c353588a38705b7ae050d4b9868b6c4d3527295edbfb25c115b22cda4912be1f -dist/2024-11-27/rustc-nightly-x86_64-unknown-illumos.tar.xz=a71d8b2b42f6cd522da237f99492ed59cd34ea8c86fc1e73c8854c8234e1c980 -dist/2024-11-27/rustc-nightly-x86_64-unknown-linux-gnu.tar.gz=5116b949572fd6c7b11a079d9453b15a4c48562bce22b26d82b7050da772789b -dist/2024-11-27/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz=3635df40363273d44c6f8182f5f6a3a099ed55897bb764cab2565363cd31c1f4 -dist/2024-11-27/rustc-nightly-x86_64-unknown-linux-musl.tar.gz=5233af0b907fb7b176d2b5fee07c486e92dcbbbab1d54a60d814a827befaa984 -dist/2024-11-27/rustc-nightly-x86_64-unknown-linux-musl.tar.xz=c908cad6d28657f1fdcbe9d84ecb86f247c75134803dd5273ca24c6c68a58f37 -dist/2024-11-27/rustc-nightly-x86_64-unknown-netbsd.tar.gz=c799165c319218a2fb4cdc0ac8db87fc9e2992a8e402d984ea27938a5ad1c5af -dist/2024-11-27/rustc-nightly-x86_64-unknown-netbsd.tar.xz=ec12763fa5d4cc150f663361cd245c30835e05e3b1928898b1b7300de559468c \ No newline at end of file +dist/2025-01-09/rustc-1.84.0-aarch64-apple-darwin.tar.gz=0b8a2d1856a95cc11b1ba4100aafec0fa5d07d2fbf4dd43461bd746633ba521c +dist/2025-01-09/rustc-1.84.0-aarch64-apple-darwin.tar.xz=7e2a1594c1e174f28b84adab25e96699feb8d0455dabe8dac1b2850945b400b1 +dist/2025-01-09/rustc-1.84.0-aarch64-pc-windows-msvc.tar.gz=d7e2f6e583cbce17786fecd921c932d218ec8df081336fcb6b447f0e742759dc +dist/2025-01-09/rustc-1.84.0-aarch64-pc-windows-msvc.tar.xz=6097716d4a7be64ed92b3cfbeeffc7fd52d057e7ae3f25c38d613bf758c05d63 +dist/2025-01-09/rustc-1.84.0-aarch64-unknown-linux-gnu.tar.gz=bef86eeb44effaf1a7b149a7df1c7a0c89b118c10948c74aa87e16ccbeba9b6c +dist/2025-01-09/rustc-1.84.0-aarch64-unknown-linux-gnu.tar.xz=9f5650aece53e083b933a57e5a8e0e2db4479f52ec897d5b6d0f77be6cd50498 +dist/2025-01-09/rustc-1.84.0-aarch64-unknown-linux-musl.tar.gz=f354ef3686b1a04933a56e8ae738c114101519c7ee10276ecbb34b9d9a757609 +dist/2025-01-09/rustc-1.84.0-aarch64-unknown-linux-musl.tar.xz=f0f78ea5f9a42c0a1d341f0a1eeb23f796d39e3c85da4658764a20a1e3efb2ab +dist/2025-01-09/rustc-1.84.0-arm-unknown-linux-gnueabi.tar.gz=23d5bc4ec00f3edc480d87f65eaba0938cd24cbeb0a783f1a4ef50ecdac9910b +dist/2025-01-09/rustc-1.84.0-arm-unknown-linux-gnueabi.tar.xz=358d0ada79241855ab252908bf63381aaf35f569c3d0c918e124d71e1aa1c9f6 +dist/2025-01-09/rustc-1.84.0-arm-unknown-linux-gnueabihf.tar.gz=09c9b25221838cfad6ce9d18435267a9faa7ff4bea76eea8bb01d8c7775c02ea +dist/2025-01-09/rustc-1.84.0-arm-unknown-linux-gnueabihf.tar.xz=1b10d12ab6b31b699d7e169a907d8b8e4e4abe465f4b50e9fccfcd56b504362d +dist/2025-01-09/rustc-1.84.0-armv7-unknown-linux-gnueabihf.tar.gz=05b24531b0c523c52223ce8d146d1f31ebd9501660c2d426ec25f2225d64d840 +dist/2025-01-09/rustc-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz=f5a5d93677e57c3d859ebf534a4925727486c05dc4e9152a90ce83708450bb5a +dist/2025-01-09/rustc-1.84.0-i686-pc-windows-gnu.tar.gz=0a131f597693e8c51e468c64d6722bbdc6c10d95b8e47fdefa2eba4a19be318c +dist/2025-01-09/rustc-1.84.0-i686-pc-windows-gnu.tar.xz=2d3f854cf48aa3d9fbf072460a4a54b64b7e9956e360f145c24122d1d7ab49bc +dist/2025-01-09/rustc-1.84.0-i686-pc-windows-msvc.tar.gz=d4f5139a091eba3fb778ded8a86aad3215a6a8a706d137646628609b9df72c45 +dist/2025-01-09/rustc-1.84.0-i686-pc-windows-msvc.tar.xz=c6fe31d182f7990689af49ae0a000f928e2b77783d77c826c6ab1112f43ff7cf +dist/2025-01-09/rustc-1.84.0-i686-unknown-linux-gnu.tar.gz=049590d403153414d032e479839faaf7bf8d9dad05b8e63a684f9965e4b464a8 +dist/2025-01-09/rustc-1.84.0-i686-unknown-linux-gnu.tar.xz=f0bc277e8e8c072d20ee91784f919c08b34a65ab56b67bcd2bb98a009cdcf97c +dist/2025-01-09/rustc-1.84.0-loongarch64-unknown-linux-gnu.tar.gz=50cf987bc861ef3afac359c925a55d72f8d9bbbdb90e2dc816b2d87aad306e20 +dist/2025-01-09/rustc-1.84.0-loongarch64-unknown-linux-gnu.tar.xz=33ecfb62afce6e30864f07b4e3b76ac6d9f603a3626e5228ad0d59a7ee263cc1 +dist/2025-01-09/rustc-1.84.0-loongarch64-unknown-linux-musl.tar.gz=e5995903925207b1d6bc4e5ecf96d75d7b01c17d10c45b88966f8a4b9f8f9b62 +dist/2025-01-09/rustc-1.84.0-loongarch64-unknown-linux-musl.tar.xz=f1dd0e669a2c1ee9504137e0b2277b9075ab17262101d2ffc9282db1d0d04a2c +dist/2025-01-09/rustc-1.84.0-powerpc-unknown-linux-gnu.tar.gz=6280fe1350006504d8b89b5e40dcd8437a5a2cb68d5e8f304bbea6d01338b345 +dist/2025-01-09/rustc-1.84.0-powerpc-unknown-linux-gnu.tar.xz=ac99e907c9819b61de94a6c12b64256661e5d76c53f3ed25246b46741d1dc973 +dist/2025-01-09/rustc-1.84.0-powerpc64-unknown-linux-gnu.tar.gz=cc40afcf9d3c3cbcd3fc0353a2ac8a24fe71525fce0b968f28513f6495e4d8e2 +dist/2025-01-09/rustc-1.84.0-powerpc64-unknown-linux-gnu.tar.xz=1f5ff831c9fd97d7d306eb7d99186b9e49f35527144aaabd43f67f04449cd732 +dist/2025-01-09/rustc-1.84.0-powerpc64le-unknown-linux-gnu.tar.gz=2fef9d2de5898bbbae0cb001ac5ba29d6859d2a19fa1827a380c9e3b04f54863 +dist/2025-01-09/rustc-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz=1f6aa28f848b24d4589277b04535ad0258e72b5fa78a4a85ba6d18db95636d69 +dist/2025-01-09/rustc-1.84.0-riscv64gc-unknown-linux-gnu.tar.gz=87b2f4fb753ef6fcef528b9512b3655d4d52e99515936731f995fd135438d5fc +dist/2025-01-09/rustc-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz=c0eaf824c7789c94901f895792333595fe131e43f097bcf5987301cc1b14c3f0 +dist/2025-01-09/rustc-1.84.0-s390x-unknown-linux-gnu.tar.gz=421fa65b67a6c9fd7cd35aec44908e924855f64e201e98bce4de21cf496d2e23 +dist/2025-01-09/rustc-1.84.0-s390x-unknown-linux-gnu.tar.xz=7dbc2fc2c04e820f636bfc74093396c55df0296f7ee4f0547bb849d9a9f05fe0 +dist/2025-01-09/rustc-1.84.0-x86_64-apple-darwin.tar.gz=8dd224e3b21a92e017c057c8e2c1d13de366896b3d876f8d64ebac6415a15928 +dist/2025-01-09/rustc-1.84.0-x86_64-apple-darwin.tar.xz=2976d8c061069f8589587fd3e867aa61e13e80cd5d08cd37392cff67d7978263 +dist/2025-01-09/rustc-1.84.0-x86_64-pc-windows-gnu.tar.gz=b4b77ee44b226eb0248e919f099bf5d8e30e44540c86b0c80a80b6e02a15dbc3 +dist/2025-01-09/rustc-1.84.0-x86_64-pc-windows-gnu.tar.xz=4e137e1e076aa33825a919c2491aead5b1beb92aaa7be1a2168158f39039fc5f +dist/2025-01-09/rustc-1.84.0-x86_64-pc-windows-msvc.tar.gz=2d3618054aa0d44656662f6d45954858efcf0b1ec2bbe215456b9c1e874ea2cc +dist/2025-01-09/rustc-1.84.0-x86_64-pc-windows-msvc.tar.xz=c576530b47054eee263f5fc547574004e2c2ebda521440a5784e85fe3f6570ba +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-freebsd.tar.gz=2945585bf13dc4ae11b90f8d939c415f1989cd3f93f880e13239d95c6888951d +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-freebsd.tar.xz=c6f5286267a5e5585a9bdb3a215c8b8d698ab1f4015b9ea6a366b1498320487c +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-illumos.tar.gz=38c1366c86099bd9c1f2c299fc9a170356aa375a63806e237f89ac0d0e3fed6f +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-illumos.tar.xz=f654a8cf9749375318995487f269415ac4777758f36fc916275833e169cf1bf9 +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-linux-gnu.tar.gz=e8349a7da9d63500431196fb3abdf79b0c8c76e0bfada815fb3f6669ecb5de3e +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-linux-gnu.tar.xz=a1737d86f80b31a6d48a6726726275dc068ecb930c9635b13aa59999486de837 +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-linux-musl.tar.gz=1446a53ba814bd6da595e394dd9f53e9cb2744055c39e034d8c49211850064c0 +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-linux-musl.tar.xz=bb96af675e34195588ab322ddaeabadd8bf4da08869aef3c91b7e7bbaf9a74b1 +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-netbsd.tar.gz=426f69aa691599cdadd42298057f5e4651d6e7ecb10a409965953ad4ff3d030c +dist/2025-01-09/rustc-1.84.0-x86_64-unknown-netbsd.tar.xz=5da41e062f92595365813e721a674230f67b7f4312342d565e5f7d7c901ba562 +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-darwin.tar.gz=0a0626661ac576a67da46af73e2e74d6e42d79cb2f54321b08ab81a86eab94a0 +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-darwin.tar.xz=c3ec73225e0f0228e4a8a9c650195b3f9e63f839954e65509d47ea58316f8f5d +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-ios.tar.gz=97187cb3ce3ccee2befc68e40423606b041e72c5b11f251a028075ac7e33e065 +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-ios.tar.xz=a39a417e44c371dafae78421621758a003c3edfc7ebab6cbc8e67fca871ab40e +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-ios-macabi.tar.gz=ccb00290c7ea6c78d44a45bfadce3c94868b09b6c0ee58024289b2019a952178 +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-ios-macabi.tar.xz=68c9f82327ed7b7b782da3593555490dd07a5467d81271d31924fa6b66fcd93f +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-ios-sim.tar.gz=326ec821c7967797a2173a84353e1423a1b3071f52facd988af05b1e5824faea +dist/2025-01-09/rust-std-1.84.0-aarch64-apple-ios-sim.tar.xz=6ae53a53b21bd35b728515d4f92b16b8d24624991689622c40c39e4ec36b5443 +dist/2025-01-09/rust-std-1.84.0-aarch64-linux-android.tar.gz=210576203cc79ecf17e987673060aa0fb5df85b31d54f1bac0e51f591a26a4d1 +dist/2025-01-09/rust-std-1.84.0-aarch64-linux-android.tar.xz=c21e0583954aa5968f7acacd4d7c8e9c832679ba6a0060df6373996b1fa9b7f6 +dist/2025-01-09/rust-std-1.84.0-aarch64-pc-windows-gnullvm.tar.gz=7c45d37a0e0883b7f40a6398ed5e547c749f8261d7f7475e438384d055a134f9 +dist/2025-01-09/rust-std-1.84.0-aarch64-pc-windows-gnullvm.tar.xz=6c1d2974bed255b54129ecc3a4d45bfb60592078dd012238fba4844e30c089dd +dist/2025-01-09/rust-std-1.84.0-aarch64-pc-windows-msvc.tar.gz=4a44d1d4f5024e8479d06aca32e628a82aee02f94d54222e2d5e6b6219d97f1e +dist/2025-01-09/rust-std-1.84.0-aarch64-pc-windows-msvc.tar.xz=acb867650ea342ace3d0cf8ac481b801c522fc142a499ceccf6ba02421af5c20 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-fuchsia.tar.gz=bbb84f1dedb70c094580355bc6ae7b49b151ca5f6c888d4fb5620c4077268e35 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-fuchsia.tar.xz=aef76494a2c8a377e947c2ef1b2ce6115833c554b2d6e08cb4b49987b693337a +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-linux-gnu.tar.gz=11a698df87efacfb472b32e91fc39df0261b9b7acda48ea01a7f296424cf5f5d +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-linux-gnu.tar.xz=023f0b6153b23ac0e9686c2ab95bc393ee3e295b166bb36de3b4dfb53e3913e0 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-linux-musl.tar.gz=31bbac8bbe4d733f72f96290630676cb3297035b11bd618616dfd64a93a13f2d +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-linux-musl.tar.xz=2fcc03bf72c6759d6a1778b6592062a2e69349239f7ba9f21a62a7529e4fdf8b +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-linux-ohos.tar.gz=b302c530f35a3391b8e01c198e09512f22f3087ceac944bc73e7980fc4ddba35 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-linux-ohos.tar.xz=99dba7bb7ed4565095fd4df4f9687c4f3ef5ada5d30331a0eb2360ee325f31b5 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-none.tar.gz=9e2368fb1207c3b429db693fd0099ae250ff6e9c391dec6200b286a7acf166e7 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-none.tar.xz=f3e4e15b6c9298fe2351bf1819551b166bf7d19378d028f2db061f65ba86cf40 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-none-softfloat.tar.gz=ac9ccded250ad6f757d19ca07d492d43f417dbbf6229c5ee6a2940fc92d47dc8 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-none-softfloat.tar.xz=3bb72a272d11d80423814717f1166c678ccdbe282a67b0c8bdb089cb46a77a27 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-uefi.tar.gz=14bb9f716560a5eec0e8fb09e4446bc127af8d33a430cd71f861dd83cbbc6207 +dist/2025-01-09/rust-std-1.84.0-aarch64-unknown-uefi.tar.xz=f0ddab14976547c3d96fc26908e1888d2cfc9f36db3e608fc255b6ae3a1a8416 +dist/2025-01-09/rust-std-1.84.0-arm-linux-androideabi.tar.gz=ab4f38c1b440bf444eea502ae6e5ba297ecc55dc8e2585adfdd7ac3970f15e0a +dist/2025-01-09/rust-std-1.84.0-arm-linux-androideabi.tar.xz=119362290da9ac4b1ec405f3f65ee06dbbb438182577360d039ebea448d1e28a +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-gnueabi.tar.gz=7cd501d1ee2f10fa048e0aa0825085251009eb0e546b19499987d5b17b6aea86 +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-gnueabi.tar.xz=5ad4a321ca84fa18811923765031d31d037bbe2e86debda7922d820313ae3926 +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-gnueabihf.tar.gz=02e88bfe926d25bfbba357fc017b2e6e03587d2863e5c1639b48c125f2903157 +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-gnueabihf.tar.xz=b2a92aa3b5116e2f48cd1a854da5dc308cffad989bb68b9d12e983ed72dcc7a7 +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-musleabi.tar.gz=a023c77dce5f3b9758a85babef759ccfb4a862bad80da1e10f69d00902de36ba +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-musleabi.tar.xz=469fec94070e8efd38663e1ae6b51a2639e2885e6cc4a7b3c48c2907ccd083fa +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-musleabihf.tar.gz=65e2072d49aaf24a12cff5d31f5321eaf38fe92c3bc08e471c892635c2e33063 +dist/2025-01-09/rust-std-1.84.0-arm-unknown-linux-musleabihf.tar.xz=0fadfac3379bc1acfb44ba6d52ea6269449560b883802b2567005fd351606360 +dist/2025-01-09/rust-std-1.84.0-arm64ec-pc-windows-msvc.tar.gz=43c5acebd828b3445720b728673ff0d6c46c9fd7a82f89295825f4d24f08ed40 +dist/2025-01-09/rust-std-1.84.0-arm64ec-pc-windows-msvc.tar.xz=c7a93600d0f70a83bd16c61a40a9b68887bef1b28bb052498c0ddee161848ef0 +dist/2025-01-09/rust-std-1.84.0-armebv7r-none-eabi.tar.gz=f5f53d8ca2d392286361b2e516fd9d74b650b60694a3a6c0fc72d8c7f7e5a689 +dist/2025-01-09/rust-std-1.84.0-armebv7r-none-eabi.tar.xz=737ec0076cf329b60ca4be145129722a24fcde50dd6a3c75f4e66facadac2f52 +dist/2025-01-09/rust-std-1.84.0-armebv7r-none-eabihf.tar.gz=1bc841bcca521905e4c55dcbd42c96a88830697e9ae77252fbb4bbc173bf19e8 +dist/2025-01-09/rust-std-1.84.0-armebv7r-none-eabihf.tar.xz=4803a0f825ad6b5a972bac7666f0df66817ad15a7ec7a259fe24a8fc16ff2d7f +dist/2025-01-09/rust-std-1.84.0-armv5te-unknown-linux-gnueabi.tar.gz=e2919a98419d7ea7763b198501378c1e4bcaeb7b8a7a41d5d46117f3adbc71b5 +dist/2025-01-09/rust-std-1.84.0-armv5te-unknown-linux-gnueabi.tar.xz=e9c6e1b5f91ee78f052cb1d6017c33a33d0f3fa9481e1906d9ef2d674f957be7 +dist/2025-01-09/rust-std-1.84.0-armv5te-unknown-linux-musleabi.tar.gz=54c588181d8a38f1ced59eaea076aaae8cb76a672c2538c186b879f26283da56 +dist/2025-01-09/rust-std-1.84.0-armv5te-unknown-linux-musleabi.tar.xz=7ae93ecec3da72d7053bb3fa8e6c7cd89f9869efd2934be5e29a4381db4cc682 +dist/2025-01-09/rust-std-1.84.0-armv7-linux-androideabi.tar.gz=b6e1947d55d09e15cd1504641e6c340e7415e6a59a11739c7d6c8f5890465025 +dist/2025-01-09/rust-std-1.84.0-armv7-linux-androideabi.tar.xz=bd15abd7c5d6abddca8001e5d8f25c3c957050dec689c4fc807596733103c818 +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-gnueabi.tar.gz=5375124e7a90dc6d64997dd5da52a7d88eb6fae1a950bc125d8b4fb260ac0f53 +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-gnueabi.tar.xz=dd80b1d9982d8339ae72d2f985e81d7d528ecf60f7a2eeecd9b6dfdd5431d480 +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-gnueabihf.tar.gz=44a93e9c8ce63dc9cfe4417ae015b9de3aa6538689e37ef1b4a513957b09d536 +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz=5b1bc0298dae734ca1d3a66b457cb1ef5c3265dcd0cfd586790c4d45d9826d5f +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-musleabi.tar.gz=6c8fd72175959e4321179baea08315d4d5b32a5d92ecc07b23aa1e3bec6587eb +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-musleabi.tar.xz=00fc66cc41c2352f6ea3c36ae97d4c96b92f9a038a101176c3b709f409ce9f2f +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-musleabihf.tar.gz=db1eb3bbb54438acc263faf40ac21ccdfef124683132c1842ab9f027a4677fad +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-musleabihf.tar.xz=e5caef0eae65f66e15fc16c26a86efa6d177a56ed28ef2285de0e4bbb9d4c904 +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-ohos.tar.gz=17c8f5ed01836a83c5b80cd8c6f65f40a0e540d2d8ca7bcf9f6bc649110cbdd3 +dist/2025-01-09/rust-std-1.84.0-armv7-unknown-linux-ohos.tar.xz=b53ec73910a18f2e3afe44f4e0386245cc4f93c6bd2cee4d27525afb1e0f8cae +dist/2025-01-09/rust-std-1.84.0-armv7a-none-eabi.tar.gz=34d02cfb66a60f4550395e6655c853f9ea6cdd169b5148bc0e273acd5081dcfd +dist/2025-01-09/rust-std-1.84.0-armv7a-none-eabi.tar.xz=c523b528b60e2b646726098baeac3cc622c194671d1a18e26057ccadf72ec4b3 +dist/2025-01-09/rust-std-1.84.0-armv7r-none-eabi.tar.gz=6a81015a0ddae96ad271ce95df7c13c19deb25db3898f01071bdbe596addc3e8 +dist/2025-01-09/rust-std-1.84.0-armv7r-none-eabi.tar.xz=0c727320fa4de24a462aa44aea073cc19f9af817af785f1c3b2f0500de2bd5b3 +dist/2025-01-09/rust-std-1.84.0-armv7r-none-eabihf.tar.gz=2e66baeb2c81f258ab9db191810e38538a3674fb7c84a9722bbe973d92cf7a03 +dist/2025-01-09/rust-std-1.84.0-armv7r-none-eabihf.tar.xz=fa63619cd2f486dfecbd0e04162b8994e65833bc503bd0f2deafeae3996d6a2c +dist/2025-01-09/rust-std-1.84.0-i586-pc-windows-msvc.tar.gz=76d7e7802a6183a95c5224d9a9ccb2f5ca5251c74db6949768fe5582bbd2aaf1 +dist/2025-01-09/rust-std-1.84.0-i586-pc-windows-msvc.tar.xz=3a21f048dc2d19fc897c22f1402503e2b670394ae75dd0e0abc66f83c4906991 +dist/2025-01-09/rust-std-1.84.0-i586-unknown-linux-gnu.tar.gz=b1ab3d8c46c2b776ec86594ea88f4699f4540fda87c07fbe5ea653490851ffcf +dist/2025-01-09/rust-std-1.84.0-i586-unknown-linux-gnu.tar.xz=a877622fbbfa58304c34372d369e95db106cc35758ca59053144bf7d86fbf3fc +dist/2025-01-09/rust-std-1.84.0-i586-unknown-linux-musl.tar.gz=d541de5d00e420d38fb6f10b84de50db73bb845e6e7115dfb99e41efcb23f3ba +dist/2025-01-09/rust-std-1.84.0-i586-unknown-linux-musl.tar.xz=f0f911935c3915ca53f3e2eb51007bbafa1863cda69cb35077bfed38871b83be +dist/2025-01-09/rust-std-1.84.0-i686-linux-android.tar.gz=1c608948a1be6356a4763e732474e3ebc27e4d786fb7d1ad407b6d36ff31b741 +dist/2025-01-09/rust-std-1.84.0-i686-linux-android.tar.xz=5a2e0941076924fb7edfffb3b07604c38a6133f9bc1d5e1de266a7292b7adb5c +dist/2025-01-09/rust-std-1.84.0-i686-pc-windows-gnu.tar.gz=368913ba0cbfe273ed2347ca8a5ced2b93a95405e379f868f63a4c228eb2f2ea +dist/2025-01-09/rust-std-1.84.0-i686-pc-windows-gnu.tar.xz=b2d2cf170aa499e8660bd6c8cda844cd6047a201715fa95d296553e91e480935 +dist/2025-01-09/rust-std-1.84.0-i686-pc-windows-gnullvm.tar.gz=46a57c89d5741994600849be29bb5f944e9def258a7b9ad970812d21e3da6411 +dist/2025-01-09/rust-std-1.84.0-i686-pc-windows-gnullvm.tar.xz=071fc172c3d32e9bac804d341af0199e8cbfb425cdf17c87fce542f0108d9500 +dist/2025-01-09/rust-std-1.84.0-i686-pc-windows-msvc.tar.gz=3af23f34bfd68d8c9e2bd32f40a88cf2b76b98a6ec331dd0161b9dc48eb65773 +dist/2025-01-09/rust-std-1.84.0-i686-pc-windows-msvc.tar.xz=1c41cceeb8a175565cf9599ec558f1042cdb7baa746066847568bb0a31f4cdec +dist/2025-01-09/rust-std-1.84.0-i686-unknown-freebsd.tar.gz=f4ca55b89f39d05ab852de45b8bc62f4bec8b7b257c7392f23690145a95642e9 +dist/2025-01-09/rust-std-1.84.0-i686-unknown-freebsd.tar.xz=f9e0aa7c33e140a394adcff2d44168e3fcd7f54f0bedcda9bdb0f960a299e9e6 +dist/2025-01-09/rust-std-1.84.0-i686-unknown-linux-gnu.tar.gz=81fb46f365f0dca15ef3ac7f8d18ed78a292e5e51c19de21a19294daf1c4f32b +dist/2025-01-09/rust-std-1.84.0-i686-unknown-linux-gnu.tar.xz=e710100be26e742733d445722a37227381f1ec2010664ece85489bc598d70456 +dist/2025-01-09/rust-std-1.84.0-i686-unknown-linux-musl.tar.gz=725199040c50c7db7a840228f64e9e4f5b4117aa2ed62e2af0be9d0c02fa5671 +dist/2025-01-09/rust-std-1.84.0-i686-unknown-linux-musl.tar.xz=1c8f12e789b64fade8a449ec12039656aa9f5cbc2bc60b720562f1286fbea4fa +dist/2025-01-09/rust-std-1.84.0-i686-unknown-uefi.tar.gz=48b5461d01d9c38d49310c8bf170eaa132dde2b749576f344d407b7008145445 +dist/2025-01-09/rust-std-1.84.0-i686-unknown-uefi.tar.xz=f260bd07420bf0a9f2e4ae9e3698a29903e66e78d2db05f911b93a38dc554160 +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-linux-gnu.tar.gz=a212a96ebf70f9a56162196c5bcc553fcb1a236553c424fd11c0335c5376f000 +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-linux-gnu.tar.xz=763b93ca08028a1e63a8a3754ac6118b2659022538e5e33675f2d7620488cd57 +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-linux-musl.tar.gz=721c7533238f3c4d30b5f70dfbe0a544af95b7ac2de45f1e813e04fed4d7e20a +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-linux-musl.tar.xz=054be22ac25d16629d219480ff372d27f00c8fa3a7334ab6d1d5d20650136a38 +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-none.tar.gz=ef5789315d2c89c63d947221e5a3d5d2eb0b6c1ff2d5464122fe3c378b263e0c +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-none.tar.xz=ec67d141ccfd891e4fd2daa6cf7a1650de46ffc69d9b9023ff582ce07ca533bb +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-none-softfloat.tar.gz=b5670cbbc2f6257f0b78abf0ab81a6752e11293c22c1442fc240ba1f5639c092 +dist/2025-01-09/rust-std-1.84.0-loongarch64-unknown-none-softfloat.tar.xz=fd5fc2a854a88c3320df703b762c6551eda0043849b7ad5b74261c50ae41cb23 +dist/2025-01-09/rust-std-1.84.0-nvptx64-nvidia-cuda.tar.gz=d407d2c4e7fad3212787ed32740575971e6d8fce81d11a598c8e999a76ff388c +dist/2025-01-09/rust-std-1.84.0-nvptx64-nvidia-cuda.tar.xz=9f23e499613ddc2fe7ee9769acea82cf544470ec1c6c03b36c7df387d67616c1 +dist/2025-01-09/rust-std-1.84.0-powerpc-unknown-linux-gnu.tar.gz=3f91b82e8e78dbbbb3b61e39428c151afd887bdabc595344475563f43b1bf04e +dist/2025-01-09/rust-std-1.84.0-powerpc-unknown-linux-gnu.tar.xz=fdbb75060e59ad59273a8ef11fc2ad61837539686df0e8dfe46107e1b15ab90a +dist/2025-01-09/rust-std-1.84.0-powerpc64-unknown-linux-gnu.tar.gz=5a48ffbd7270cef21555641dc932f997543d34b026828a3231603518e34a669f +dist/2025-01-09/rust-std-1.84.0-powerpc64-unknown-linux-gnu.tar.xz=f2819f8ce1ae41c2c2bcf40fc90d6b1a5d340d3e9558267d464730a797122bf5 +dist/2025-01-09/rust-std-1.84.0-powerpc64le-unknown-linux-gnu.tar.gz=d1dacba52577c23210b417dafd7c41bc36e9ba1b83702c6c7b851e9f06f5ac07 +dist/2025-01-09/rust-std-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz=db731e894cce9973ab2b41109c9097d0fc6a49c0d45a0d333bd1547d2c7485a1 +dist/2025-01-09/rust-std-1.84.0-riscv32i-unknown-none-elf.tar.gz=6118fc5f11a16ba380a90c6ffc4c0326d6dbdf30490b923e277dee1174099e7f +dist/2025-01-09/rust-std-1.84.0-riscv32i-unknown-none-elf.tar.xz=e5c1b12bf60e6019194d28cca5062d0853b896f4daace646d3d327495214a9e6 +dist/2025-01-09/rust-std-1.84.0-riscv32im-unknown-none-elf.tar.gz=c6179c399020f4eac03f20624c27aff749f2a9d451b6b954cf3e864478687f3c +dist/2025-01-09/rust-std-1.84.0-riscv32im-unknown-none-elf.tar.xz=3d08ab2b4446d7e2659effd4ab975c6c37a7a0bd28553e2f48f21b0b7e1addb4 +dist/2025-01-09/rust-std-1.84.0-riscv32imac-unknown-none-elf.tar.gz=81d6ec63779b7d4370d7a48e5cf44ae0e6b515cdd49158ba8da1c837c98386e3 +dist/2025-01-09/rust-std-1.84.0-riscv32imac-unknown-none-elf.tar.xz=c654f54db21b6e857fab6028b3ab31a9413f44d0ee9aa383af2ac6c7ba8220d3 +dist/2025-01-09/rust-std-1.84.0-riscv32imafc-unknown-none-elf.tar.gz=9cb91f1baebbe1be86f9359e2247998f37a7a5674c4aa8f60f83f8e04e30dd47 +dist/2025-01-09/rust-std-1.84.0-riscv32imafc-unknown-none-elf.tar.xz=bfabfd354aada0ce4c768b9a5780cfff5989d924b96a1768ebd07980c98997f5 +dist/2025-01-09/rust-std-1.84.0-riscv32imc-unknown-none-elf.tar.gz=8202c761abb1650a2cc69520d919a58a4f86b0ecf054c95d27f3102e4132699e +dist/2025-01-09/rust-std-1.84.0-riscv32imc-unknown-none-elf.tar.xz=cb32559189150b885df625eac5aa7adf066a80695c4a11d9d8e85341c1dba39a +dist/2025-01-09/rust-std-1.84.0-riscv64gc-unknown-linux-gnu.tar.gz=8bffde598c149881bb03883469a442f95ecc58e3a05e4b6dd2cdf973fb0a5f9e +dist/2025-01-09/rust-std-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz=451580f9cdc47eef4efb0986b1960a8f9c4fb0959f81b77eb6292e6bcff9fc64 +dist/2025-01-09/rust-std-1.84.0-riscv64gc-unknown-linux-musl.tar.gz=45dfb7bd6e62a0053d1f1b2a582a1213ebaa8bad3d9c8ca058cd6b9c9ce3a6ca +dist/2025-01-09/rust-std-1.84.0-riscv64gc-unknown-linux-musl.tar.xz=c6811e042fcd2f62c66f07ad95b207769b12f15ea310469778d5aeb97ac452e2 +dist/2025-01-09/rust-std-1.84.0-riscv64gc-unknown-none-elf.tar.gz=37a24186a8ff0ba8d06727562aaff220a593c2a8242410e2dd6dd2f82c73ad5a +dist/2025-01-09/rust-std-1.84.0-riscv64gc-unknown-none-elf.tar.xz=78ecec401eec65856cc3794076fddf07e2aa8947b7ab113b756ffaadf6b73973 +dist/2025-01-09/rust-std-1.84.0-riscv64imac-unknown-none-elf.tar.gz=4dcc04f0b05beb546f74ed076c63283b121699338bfa3d27782f1e7122eed14f +dist/2025-01-09/rust-std-1.84.0-riscv64imac-unknown-none-elf.tar.xz=bc6ca8ed83e4caa3894a254cbf8c36ab4a1c87efec9fc14a0664d1bbf56a6d84 +dist/2025-01-09/rust-std-1.84.0-s390x-unknown-linux-gnu.tar.gz=5d0420ad2685a90fc83f46cb075d72a2eca9603ce92da5282558e2a32fa192f1 +dist/2025-01-09/rust-std-1.84.0-s390x-unknown-linux-gnu.tar.xz=5208f45cec5f3600f2cbc11d1796bc217f09e9c922689c8e4f0cc3f2b83ebb74 +dist/2025-01-09/rust-std-1.84.0-sparc64-unknown-linux-gnu.tar.gz=fdbd4028e5fdf43acb3761ba402e6d9e0ed3f872222481db60e374545e08a74a +dist/2025-01-09/rust-std-1.84.0-sparc64-unknown-linux-gnu.tar.xz=ecd1662d6cbbb62984ab31ae787442f1ab32caf6bc17260d407b3a94b434ad32 +dist/2025-01-09/rust-std-1.84.0-sparcv9-sun-solaris.tar.gz=92cff117ef26b6d44f918223de4dc0a16bc90f7cb68a12afcba8dd98b1f0343d +dist/2025-01-09/rust-std-1.84.0-sparcv9-sun-solaris.tar.xz=2e9e65ea1ca5b69b46a97a7940e036ba3f49df139e064fdaf4996480171c0ebb +dist/2025-01-09/rust-std-1.84.0-thumbv6m-none-eabi.tar.gz=4e13683d108b9d50ba44ab64a8e323231756088fab1c1f96f93d771c40f73b8d +dist/2025-01-09/rust-std-1.84.0-thumbv6m-none-eabi.tar.xz=f3735b16fc98707ee087d9e04fd891dc2a99b577d1f6e72677cb71717a78ebc4 +dist/2025-01-09/rust-std-1.84.0-thumbv7em-none-eabi.tar.gz=8add5a38a287294a282db0de480dab914bb328663dcc24cbd8975d41d5963a8c +dist/2025-01-09/rust-std-1.84.0-thumbv7em-none-eabi.tar.xz=8e8e084b44f3ead6dfacb6150299ece975866422840af8f8e17990c61e74a4cc +dist/2025-01-09/rust-std-1.84.0-thumbv7em-none-eabihf.tar.gz=4b11b6a973a77c2dad9f8aa34a1dbc99b59acaff3ed481d6cc11fb239193fdc1 +dist/2025-01-09/rust-std-1.84.0-thumbv7em-none-eabihf.tar.xz=49b455932534db2b7c5a469b9a2f132e9642ef9509c9bdbda5e7e90481ac0949 +dist/2025-01-09/rust-std-1.84.0-thumbv7m-none-eabi.tar.gz=7820cd9f7c691527feb68088582a5fb8200983a18edd9015b2a580199d0ec807 +dist/2025-01-09/rust-std-1.84.0-thumbv7m-none-eabi.tar.xz=920bb11cd06547b092c7cbe65e0811139daca52e08baf2b2956295d9cd3aff80 +dist/2025-01-09/rust-std-1.84.0-thumbv7neon-linux-androideabi.tar.gz=fb44a1dca4ce8c8674ccca8d5b89618bb159e8ecba0eb7cb9ee80df0ea1029ae +dist/2025-01-09/rust-std-1.84.0-thumbv7neon-linux-androideabi.tar.xz=991713332f143578fbb7d79bb79ee6a780367d69377c39afb4964639e7601b1f +dist/2025-01-09/rust-std-1.84.0-thumbv7neon-unknown-linux-gnueabihf.tar.gz=b66f640db796302c28732d56a505dd6ae6effa27fb0d125ef28d254f189a3e5f +dist/2025-01-09/rust-std-1.84.0-thumbv7neon-unknown-linux-gnueabihf.tar.xz=1a6e2ebe680c1e683faa17390c5a02736f38acc89ed97c7b0d8a874c9fc781cc +dist/2025-01-09/rust-std-1.84.0-thumbv8m.base-none-eabi.tar.gz=bfa6573cbb2624c76985ba18e82c98b673cb9f382ee05a012b85d1dfc8ed3c8b +dist/2025-01-09/rust-std-1.84.0-thumbv8m.base-none-eabi.tar.xz=aa1ec332f539fab30d556e395a9258c3f98c3a853f43148219adb364be8e7aa2 +dist/2025-01-09/rust-std-1.84.0-thumbv8m.main-none-eabi.tar.gz=be4170d0346dd715274048a47720c19cf3bafbf013b4ffa435ae9fc556840326 +dist/2025-01-09/rust-std-1.84.0-thumbv8m.main-none-eabi.tar.xz=01d5e635ee27d521dc339d1fd41bfa04e9b996f5f0894949a2724b7a68219c51 +dist/2025-01-09/rust-std-1.84.0-thumbv8m.main-none-eabihf.tar.gz=e611edf2f24615eb856a0d606cc5fc5410705086d2082295a3dcc1dcfef96fa6 +dist/2025-01-09/rust-std-1.84.0-thumbv8m.main-none-eabihf.tar.xz=57ce874bca3cf31f9749d107a5613bbd4c1ddc26ba4fcf88fa7422546d1f056a +dist/2025-01-09/rust-std-1.84.0-wasm32-unknown-emscripten.tar.gz=767d06523ae6a0aa2cb8627eb890202c6e43434e01be9a1fad5c8613edeb8e26 +dist/2025-01-09/rust-std-1.84.0-wasm32-unknown-emscripten.tar.xz=bb85a24c6576ce39da3876b44fd00088ec175915423ee4adf06003cba3df4720 +dist/2025-01-09/rust-std-1.84.0-wasm32-unknown-unknown.tar.gz=76e74b68fa4561f94434b37e16d06e3167d5524870515e62d52a7d3c93d0dc14 +dist/2025-01-09/rust-std-1.84.0-wasm32-unknown-unknown.tar.xz=7003bdae2aab2ddb6991e3dc8a62f45964ee1ed021cff47f47fd58b2ef91aef8 +dist/2025-01-09/rust-std-1.84.0-wasm32-wasip1.tar.gz=6e42a2d39b77da376a5afe73c9739682e41154850da5c71f89ddbf953680b21e +dist/2025-01-09/rust-std-1.84.0-wasm32-wasip1.tar.xz=338951e39f3e69aa37b3c5020919ffcaf230e86773def2d1a51a87ab87b9f20c +dist/2025-01-09/rust-std-1.84.0-wasm32-wasip1-threads.tar.gz=7e78ce32a9eab43bb16d738d498365fdd983399c58ce4b33080ceabbda0354c4 +dist/2025-01-09/rust-std-1.84.0-wasm32-wasip1-threads.tar.xz=0e884ba748708ceeb9f144ea6074ffab0df1e4b74708e35aca5e58dacee25dbb +dist/2025-01-09/rust-std-1.84.0-wasm32-wasip2.tar.gz=fd41b37cfd3cabaa1c0379c07af62cd2afbda2ecdf6857fbf7ac82466b71dc6d +dist/2025-01-09/rust-std-1.84.0-wasm32-wasip2.tar.xz=56926904562bcd0fc0e4ff1ec062677cecb2e8107a7210cb9faf82f1b69bedd4 +dist/2025-01-09/rust-std-1.84.0-wasm32v1-none.tar.gz=53012308522d9a6448fbaed72c212c79a6888e2ff0f93c32d3fcb2676a96d3e4 +dist/2025-01-09/rust-std-1.84.0-wasm32v1-none.tar.xz=d1325f56e2569eafd41dad50bda514e12d067b07bf34b953ddd7b71ba4236320 +dist/2025-01-09/rust-std-1.84.0-x86_64-apple-darwin.tar.gz=a77b82c6c6b0c32808cc812e100b1274cffc81818d25754b92d197409e5c12b9 +dist/2025-01-09/rust-std-1.84.0-x86_64-apple-darwin.tar.xz=81d503a3dc54c760ecb5088fe61f8808f4b498c24c397aad00d93bc9dc8963c9 +dist/2025-01-09/rust-std-1.84.0-x86_64-apple-ios.tar.gz=3cfa1b7774289b94f398a4b273606f420bb584da8a1210f48603adb0904fef6f +dist/2025-01-09/rust-std-1.84.0-x86_64-apple-ios.tar.xz=8dfc3c4f754be7f2b41e52b257c80d6a77f8a124cb9f055919701d24b55e8ff3 +dist/2025-01-09/rust-std-1.84.0-x86_64-apple-ios-macabi.tar.gz=7acbfa9ce4a59f3ae9532898fdb4b487c0e0e15eb39ff91e8081506783a9d473 +dist/2025-01-09/rust-std-1.84.0-x86_64-apple-ios-macabi.tar.xz=015e465c9cdcf2974137e0d889636cc9e78bf3f8ddebb9d4cdd86206b2284408 +dist/2025-01-09/rust-std-1.84.0-x86_64-fortanix-unknown-sgx.tar.gz=bde7d1a4b6c67a67be6f7863530466c5d5051d4fbf719c3ed83ba2a659f193f8 +dist/2025-01-09/rust-std-1.84.0-x86_64-fortanix-unknown-sgx.tar.xz=f2691106f5970bd08b2873a047591d556aba4b714c56f82b14cfa97d233be91c +dist/2025-01-09/rust-std-1.84.0-x86_64-linux-android.tar.gz=c979d55799eb0e709b8278a861f19279b5ff4de96f92b398f86032c907523e6c +dist/2025-01-09/rust-std-1.84.0-x86_64-linux-android.tar.xz=bb676ef61e3a417a8518d24408dc322ddb44c1eba739bcb807976211168d61ed +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-solaris.tar.gz=3b491848310e30a3623d27eb38aa698258db809e81a79994227b30774bec007f +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-solaris.tar.xz=7845c5d470b11d85b934a364fa5c4ec0fb7e5aa76c4b8b15c820ac39f5fd8b52 +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-windows-gnu.tar.gz=c3e62fc054b1d4b30f5daf70820365def8b5cf489ae158cdbe6412ca28df5d65 +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-windows-gnu.tar.xz=89cb1489267db4a11455aa64012716e103585a47eb13e8471f15e3409a818a42 +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-windows-gnullvm.tar.gz=c5c62253a0e80cda2f56a314fbfe79a158e9233949c14dea462ec54809a23765 +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-windows-gnullvm.tar.xz=991d1b8462c90c86cae3ae67dde165ee286566b8db54ec4f86dcb0b8dcb0eaa3 +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-windows-msvc.tar.gz=d61cd761c4531dbb4f21e50e4d27ba7816c834bc5fe1d802998d9797619d61aa +dist/2025-01-09/rust-std-1.84.0-x86_64-pc-windows-msvc.tar.xz=1d9c772f87202c962da5c7c697077fb3751308087445278422328eb244cfe262 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-freebsd.tar.gz=c506c6b50cac025268e1ee4536cf6149c3efb81898ddca51c68c52e9fbd68938 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-freebsd.tar.xz=10b57f3d2fa998586f5be01d1dcc93a33afe154c63c09d1d35b8cb7326c13b55 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-fuchsia.tar.gz=2b1635e37c504598209152e01fef4b55a0735fc85fd806ce6a6efd90abb606ff +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-fuchsia.tar.xz=91a896dc41c24886da69619bf65fb73ed4261c711270c06747a135d2d57459ae +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-illumos.tar.gz=ab68afbf5469678cd4e8e8a1e6e6a418e140b867da69c3b07a7c57f31fcefde7 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-illumos.tar.xz=8316f75aab299394028d4f49f297f2c235ecdd265517a776681632d173330663 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-gnu.tar.gz=b3050a3b63da621f27517bd1252e976fd69ca45adf24e307627d4ca8b3efd7d7 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-gnu.tar.xz=770237080b9310d126350c3bd70820bd91064c2e96c29ab5f2e002b31b5bd067 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-gnux32.tar.gz=4ec178dba32f3f93ccb2b8493fe12538fe410a70a58cead607f26ed633fb6e71 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-gnux32.tar.xz=cf7f4186d89c37ddc655dd01e515fffd85d4485da06876be34601cba5342301d +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-musl.tar.gz=9c226ea54ceb03d97a70068ec2b9606a2741df6938fe5916d741ccbc099712f7 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-musl.tar.xz=5f976818603468384bd78fde6c4e12f2b0a996d55f4985a33a68b5af54974ac0 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-ohos.tar.gz=a6f34f90982271b7101ecfce278d4e5e2288028048fa30140fd7021451c58c3f +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-linux-ohos.tar.xz=3e5316404d207fbcae402d007291d2c781ad9a3a2c1a54c8b29e39151d223eec +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-netbsd.tar.gz=3613adadfacd038d0e38ebac81e1986903b5e9982ae521cb8828b4c9d8b814db +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-netbsd.tar.xz=344a3adfeda4af316483800bc7d5be584e536779801083e34c66f297aff7562f +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-none.tar.gz=a404fbb75cb6e6ff0c30f9643788353886044b4fa47d71e587e0856f865366d7 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-none.tar.xz=0e0a43435b7b2beada02e6ae6e3b8bb9bbbd3313623dbbaaa50792884ec0a7ae +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-redox.tar.gz=3bc885a374b7ae76ff0024d90f13f1ccf6813cc73c50bc2106170920398824d6 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-redox.tar.xz=50a228ea53f693085e490985b8e4c587504a52b6fa4facfc46966b092c48204d +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-uefi.tar.gz=ee310ac0b2c4ad259fcff30d13ca368cab0755f7597afdeb744a70c3ce6536d5 +dist/2025-01-09/rust-std-1.84.0-x86_64-unknown-uefi.tar.xz=9de92f9a25be99f944b06c225d188b07041b8dbcb1d5d511d8c4ebc45de2e508 +dist/2025-01-09/cargo-1.84.0-aarch64-apple-darwin.tar.gz=1dd13231219728dfb4c3eba59949362ff01a3d139a5f028242d2f5004137f08c +dist/2025-01-09/cargo-1.84.0-aarch64-apple-darwin.tar.xz=0dc1cf2510c692f0d2ac254bf8474b3f96a719eeb5062b16dceb30361c0d235e +dist/2025-01-09/cargo-1.84.0-aarch64-pc-windows-msvc.tar.gz=0eabe919a4ebff9f061dd4d7b062407253def98a664be3f5e2b2aa3a4e28823f +dist/2025-01-09/cargo-1.84.0-aarch64-pc-windows-msvc.tar.xz=d0f7bf5f3ac922e98acf150349cf49b20c189318ca98f2db1ef9fb0f6e897dd0 +dist/2025-01-09/cargo-1.84.0-aarch64-unknown-linux-gnu.tar.gz=8acd371fa7e0cb85b274acdf2281f461d67c25a95a11c78db6be83b9b71989e3 +dist/2025-01-09/cargo-1.84.0-aarch64-unknown-linux-gnu.tar.xz=68d4ad239b6d1e810e7b8591636dc408cb2c1e89661329fed906febf9c0a9d98 +dist/2025-01-09/cargo-1.84.0-aarch64-unknown-linux-musl.tar.gz=fd6beeca96a35d8ce2c1965d2b721086d10e3e591efb1c7656fe06c637c61385 +dist/2025-01-09/cargo-1.84.0-aarch64-unknown-linux-musl.tar.xz=d2cf082baf2736f48bf06e33996814991629088d35cbaa5a6f69d477c22f916f +dist/2025-01-09/cargo-1.84.0-arm-unknown-linux-gnueabi.tar.gz=36996c95ce04d4e6c1374a6655ef5c3b4eeef161145b51d41d02be9aec10b384 +dist/2025-01-09/cargo-1.84.0-arm-unknown-linux-gnueabi.tar.xz=ee28bfaf610ceca1fd14b8d35ff913c73636e4019ba5973427f577c292bc82dd +dist/2025-01-09/cargo-1.84.0-arm-unknown-linux-gnueabihf.tar.gz=e33834d9bdcd358771c34c759e54d23c872dfb957d2514e982fc86e79824c449 +dist/2025-01-09/cargo-1.84.0-arm-unknown-linux-gnueabihf.tar.xz=48228ae35953bb6261b1a8dbc36b1cf2f41ffd052d62d494fffdb760c68c0b61 +dist/2025-01-09/cargo-1.84.0-armv7-unknown-linux-gnueabihf.tar.gz=2920f0fd23f1772a1d05697c43a14fa525fa9ed4359ba6af947967c5732af4c6 +dist/2025-01-09/cargo-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz=5284dda073112bc9ff25f374cb50f0fda26247d367880e2c5f29e2ea9554e8c6 +dist/2025-01-09/cargo-1.84.0-i686-pc-windows-gnu.tar.gz=8c2c9d886380cfa1cd26e1615f38cb6f91204510898f848e896afc92c8774446 +dist/2025-01-09/cargo-1.84.0-i686-pc-windows-gnu.tar.xz=bef27b550c8634fb2000b262f455ec854222e5b5d124da36ff66e1d0adfd0d66 +dist/2025-01-09/cargo-1.84.0-i686-pc-windows-msvc.tar.gz=701507cb6b83c361b97c1f70307e1e635e60dac14999353868fa504d544d4eae +dist/2025-01-09/cargo-1.84.0-i686-pc-windows-msvc.tar.xz=db1865910517dec655f64ac8d1ebe9dc7345c83608e33d3efe361fb70ffae7cc +dist/2025-01-09/cargo-1.84.0-i686-unknown-linux-gnu.tar.gz=1f614bfbf3bef306c75dcf26607d8a52a104fe19f19a6216544558b7a8ed087d +dist/2025-01-09/cargo-1.84.0-i686-unknown-linux-gnu.tar.xz=3a20231475b75f2f6ad0f7c5de283c5706403b41e941d3f1ca6cccfbced214c6 +dist/2025-01-09/cargo-1.84.0-loongarch64-unknown-linux-gnu.tar.gz=3a035f36f0f105a238c48495bf83ac036411de2c670b1aadf66d11ac1f3add89 +dist/2025-01-09/cargo-1.84.0-loongarch64-unknown-linux-gnu.tar.xz=1531b9f3d09983c43f54d7e5ced6b452044e82b24609532e8cee345656e5d8a4 +dist/2025-01-09/cargo-1.84.0-loongarch64-unknown-linux-musl.tar.gz=732b974554e0d724748007b74518a2e65e5a10b9980536ea863b23405d7c5e9d +dist/2025-01-09/cargo-1.84.0-loongarch64-unknown-linux-musl.tar.xz=656329bd047a1e419d0b30d1c59c095c767bd0ae84b18c59652f9be09ffc0ea8 +dist/2025-01-09/cargo-1.84.0-powerpc-unknown-linux-gnu.tar.gz=7cdca593f020fc0ef2fe2ca4873be1e4ab98607ae6f7247892384b711058645d +dist/2025-01-09/cargo-1.84.0-powerpc-unknown-linux-gnu.tar.xz=dedcb36320cfa924e2d21552057f88ee8a30c0424802015494c2f6237150ec55 +dist/2025-01-09/cargo-1.84.0-powerpc64-unknown-linux-gnu.tar.gz=5c791f7b83ca685284401f84b22bc2816ce08c3cd39e6be9cda21822fcb27802 +dist/2025-01-09/cargo-1.84.0-powerpc64-unknown-linux-gnu.tar.xz=09d9954bf817404c08a8ac952afe1e086ad11fe20d07522a4bde5f26bf7fb5d2 +dist/2025-01-09/cargo-1.84.0-powerpc64le-unknown-linux-gnu.tar.gz=078f53f18363e3190dc8b533969a7133779e954335bc07f290875bf59bd6ed9e +dist/2025-01-09/cargo-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz=7dc351327de2567cce2a3387f110cce1db20c68fc529353c5cdef2eada5dbfd8 +dist/2025-01-09/cargo-1.84.0-riscv64gc-unknown-linux-gnu.tar.gz=942f47b356133193ce5fd2e75634642c4360a1532c205ecaf79a1fd0fac624ca +dist/2025-01-09/cargo-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz=3a850b74bdf2c3a5912e9f1ea32aaf1c9ac7c5f89c1c0bcf421b961195833992 +dist/2025-01-09/cargo-1.84.0-s390x-unknown-linux-gnu.tar.gz=dee6a36611d622adc332c7943e17bb38517187060c46ab22e337eba8c30dbf81 +dist/2025-01-09/cargo-1.84.0-s390x-unknown-linux-gnu.tar.xz=bdf944ff5c0b97e8b64093fff8d1f63926df86b5e98f91d30c7bd844c6efa20f +dist/2025-01-09/cargo-1.84.0-x86_64-apple-darwin.tar.gz=dfec6952d8ecfac1d8760a0b3dec0540f6fdbe9e1489df9aef5a172fc6415ecc +dist/2025-01-09/cargo-1.84.0-x86_64-apple-darwin.tar.xz=712f5807ce7553ea8903105f27345f3628ec3c15c8a6f62e87bb5429d10545f2 +dist/2025-01-09/cargo-1.84.0-x86_64-pc-windows-gnu.tar.gz=801c4f2a1b7bb261ea6c7fe7bd0771063b4b7ed474df3ceec0b9037d1337be4c +dist/2025-01-09/cargo-1.84.0-x86_64-pc-windows-gnu.tar.xz=5abeb0580b569877bd0d43fe7330829d7dd8d4472e675cd5ef6ac5e6553f33fb +dist/2025-01-09/cargo-1.84.0-x86_64-pc-windows-msvc.tar.gz=dca700cc849c95c198403998c422179599be5858d9c61fe4d317bb71f38d345e +dist/2025-01-09/cargo-1.84.0-x86_64-pc-windows-msvc.tar.xz=635610db1ed6ceea00a746a83b15402bab608b149d15bef0cb1573c6a441da12 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-freebsd.tar.gz=dd630edc84951c9bc84a72741c84fe0f4fce560fe87cb67c3a9587e2b5576fa5 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-freebsd.tar.xz=e428d2866be9fb48852bc6ea25551c77fbdeb0b97856742cf8841c9ca7f71977 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-illumos.tar.gz=86f29478b538a6c0f079e4be8973d40d62d00261534763d70362097f9193082a +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-illumos.tar.xz=7e3b47a6ece0c4d7f534d11764d07d9b685365b5fd82cb533fe63a243039557a +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-linux-gnu.tar.gz=0d63b2f736326127a387b5f9c62ee146eac661e54f4795a07b9f7ad09be16c23 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-linux-gnu.tar.xz=6c2371488db92a09cd50a1b4045c022f3cf2c643285b3b21105ab5f9b64fd6b6 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-linux-musl.tar.gz=efbc3075f517cc12c52133c02590b2faa234fabceceb98f3363a27737a7ff51d +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-linux-musl.tar.xz=0356fa019a7ee60fe6eec2f94c7d68e01b1a7710437bb6cf3422b42c2870d822 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-netbsd.tar.gz=671d40ab0d8ff9e12f14ecd5d67003bb6135a2faf0d070c1ad158c2ecbc7efc0 +dist/2025-01-09/cargo-1.84.0-x86_64-unknown-netbsd.tar.xz=9abba67db92554e7f5aa6c3eb1220e377de3635f62b0d629dad913a9c4edd2b1 +dist/2025-01-09/clippy-1.84.0-aarch64-apple-darwin.tar.gz=0b86ee90f846603f3459e6a3cfe302fde5254de23f5bacd4ced2c588ff41f4b3 +dist/2025-01-09/clippy-1.84.0-aarch64-apple-darwin.tar.xz=5317d98dc9d6994f8d087aabecc16627d1a202500acd09f752d722f5462587df +dist/2025-01-09/clippy-1.84.0-aarch64-pc-windows-msvc.tar.gz=5eb7de0d9d319346787528a842b720243813bba3b7f43258a407476b26fae656 +dist/2025-01-09/clippy-1.84.0-aarch64-pc-windows-msvc.tar.xz=d1a7ef58a6f6ca103f900453293faa022b10fce53b0a25e36429b272bb79f740 +dist/2025-01-09/clippy-1.84.0-aarch64-unknown-linux-gnu.tar.gz=252a85c2a7e519b6fcc4625b85dc299d81a7d0eb90ef4160dcd86517acf4cd3a +dist/2025-01-09/clippy-1.84.0-aarch64-unknown-linux-gnu.tar.xz=6022245416a988b9952f36bf20f62de0c2f3337bd150e34439ea6651592ac8ca +dist/2025-01-09/clippy-1.84.0-aarch64-unknown-linux-musl.tar.gz=40caea642121254cf9c0e7b5c9ed28b12cec6444b961166f7c150a7ca604e6ec +dist/2025-01-09/clippy-1.84.0-aarch64-unknown-linux-musl.tar.xz=13b87f271557b5160c6872be84e0ef5b2e56d5e79677c1499e64877e084b68d4 +dist/2025-01-09/clippy-1.84.0-arm-unknown-linux-gnueabi.tar.gz=4b90734e9792bcad7914dabd2963621085bf7c6d85a66962f9008e04ef0ba998 +dist/2025-01-09/clippy-1.84.0-arm-unknown-linux-gnueabi.tar.xz=4a99c74586e2b82c57db39f42f6f610d9619bdd206cc3615d6050f2db2971983 +dist/2025-01-09/clippy-1.84.0-arm-unknown-linux-gnueabihf.tar.gz=4f3fd887a55b02515c8fdfdeccfcf9ebd376a02cc232b3dc396a5b68f63feb83 +dist/2025-01-09/clippy-1.84.0-arm-unknown-linux-gnueabihf.tar.xz=a46ff178460420314b10cc814a631e72fa6cdcfc74808a260d9c037087884cd7 +dist/2025-01-09/clippy-1.84.0-armv7-unknown-linux-gnueabihf.tar.gz=d3855f76433c1a1b3d5fb755323e17a2800238b2e0e707981ecec5e0ff284730 +dist/2025-01-09/clippy-1.84.0-armv7-unknown-linux-gnueabihf.tar.xz=e62da2e5c7e384374b96c75f76d3200e48c1f1d4f524740f9521178de72e6308 +dist/2025-01-09/clippy-1.84.0-i686-pc-windows-gnu.tar.gz=dc792b80e7742b4b4229296937629a16686926504de8b89b221a67116faae10e +dist/2025-01-09/clippy-1.84.0-i686-pc-windows-gnu.tar.xz=51af56af22d6e71d6cb60b47f44cb1ed85cbd63ac137335c877511c13008d60f +dist/2025-01-09/clippy-1.84.0-i686-pc-windows-msvc.tar.gz=21180404245ec9eb97e5c8c9eaccbf5e6d175a122150c5724bb3eefc81f7e542 +dist/2025-01-09/clippy-1.84.0-i686-pc-windows-msvc.tar.xz=d1a3ae5a4e32015d4b67331cb04ef242b822ec0ee3857bba1a6b6840315a8377 +dist/2025-01-09/clippy-1.84.0-i686-unknown-linux-gnu.tar.gz=5a7039740aff06a9e077492b15f41feaa3d47e67b16187824d0090ac38224b64 +dist/2025-01-09/clippy-1.84.0-i686-unknown-linux-gnu.tar.xz=8b5bdd84b9128abc6d61bc1acb60e55eab90e063c7057371b4e6f79aaa1acb9b +dist/2025-01-09/clippy-1.84.0-loongarch64-unknown-linux-gnu.tar.gz=27caee490f25656ad0db77fb66a046e7ea6bd423fbb19d23667fd44db2be1043 +dist/2025-01-09/clippy-1.84.0-loongarch64-unknown-linux-gnu.tar.xz=80719f10010eaf6a26ba7b2f8c5c7bce3a78fd838cbbe17c00a4e3e7cd45fe5e +dist/2025-01-09/clippy-1.84.0-loongarch64-unknown-linux-musl.tar.gz=6f5bcd9a76c462dbaf6d0296537e539948715e49268fa263790395522ca6879f +dist/2025-01-09/clippy-1.84.0-loongarch64-unknown-linux-musl.tar.xz=c358dc9e6bac4e3d7777d6e26ded2ef7c92721989891794763915f8d5dcbc61a +dist/2025-01-09/clippy-1.84.0-powerpc-unknown-linux-gnu.tar.gz=498ab2941346920ee1505b5dcb95e48055ca86ddc2906a2c509b5d98b31a3816 +dist/2025-01-09/clippy-1.84.0-powerpc-unknown-linux-gnu.tar.xz=de2413ae321d2bccf77c77acb1e9775b63eca1993ee1450e65e388f029565a51 +dist/2025-01-09/clippy-1.84.0-powerpc64-unknown-linux-gnu.tar.gz=086c05eebe6024332ac6d9aa4008231a87d529842ccfcd6b442bf8a74547eeda +dist/2025-01-09/clippy-1.84.0-powerpc64-unknown-linux-gnu.tar.xz=a34cde35f254210cbb212c3fa85411efaa8e70d600d2c2404b7b319eae9b5be6 +dist/2025-01-09/clippy-1.84.0-powerpc64le-unknown-linux-gnu.tar.gz=6080fec4cfc0155220d3378e78c45b09caf4ef288879e5178a4b9b0ca0ab4d64 +dist/2025-01-09/clippy-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz=b53cb58c719b84044de62851b6214db8d504f57ad71e81b373d7dea0393146d8 +dist/2025-01-09/clippy-1.84.0-riscv64gc-unknown-linux-gnu.tar.gz=87a2e92fe92590834f60cfca943bcec2f4120c2631dc7c1fcf7b790893219e65 +dist/2025-01-09/clippy-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz=fb8c9d489e10a961f9faa550980069738b5f0f68740e34d7b3ee46a262b53af7 +dist/2025-01-09/clippy-1.84.0-s390x-unknown-linux-gnu.tar.gz=36661fc401318d5b74bfd4db14106f04bbe194e4b3321e3209aabef4cc3c4aaa +dist/2025-01-09/clippy-1.84.0-s390x-unknown-linux-gnu.tar.xz=b02a586369e6edebb0f0608e396472d1867419213fd01ba32f3c847e4c5a3c07 +dist/2025-01-09/clippy-1.84.0-x86_64-apple-darwin.tar.gz=0bbc95842a1c861855af5181a10e1fb850d38610ad52501f2729bad66337a8a8 +dist/2025-01-09/clippy-1.84.0-x86_64-apple-darwin.tar.xz=101b935f94849a03ceed9908f2ced5fd9f70abd03b4e53008c077a55f0f7ff8e +dist/2025-01-09/clippy-1.84.0-x86_64-pc-windows-gnu.tar.gz=be9d310b739bade62ea777b31d351871e2177d304dba1b652c2247c5e0ded6ce +dist/2025-01-09/clippy-1.84.0-x86_64-pc-windows-gnu.tar.xz=5965d477148cdd49f896a214f789a07d36248116cb37f83e42fea93d627f3c8a +dist/2025-01-09/clippy-1.84.0-x86_64-pc-windows-msvc.tar.gz=891088cb4a69fe2d5b7c4c2ee860b0bfc964ef8aa0a0926d128bdc17378209b3 +dist/2025-01-09/clippy-1.84.0-x86_64-pc-windows-msvc.tar.xz=680cb002a3c0847ffe29dfc675a3aabfba104604fcc6795c1d0c6d35bd9261b2 +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-freebsd.tar.gz=c0a385fb58b979cfc430a0dfe2b6dd16620698670f7e5c6bb1291f06e561d0de +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-freebsd.tar.xz=8b98e2a50ab10b8b71482460db1a7400d884c96e87e6201d1689e4066a80a10b +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-illumos.tar.gz=3f89f479b1aadab2fbfcc0ceac4af6435dc6f8166eefcec9b105adb7419ceff0 +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-illumos.tar.xz=8f65f53e6f51cbbc1770b84b1e49f6e3b596ab7c12f04f7e5b6c0852969ad25d +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-linux-gnu.tar.gz=7e0aeac429cf32fed5c10145c638fcf0af78d369ec45d476efe77807900780b6 +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-linux-gnu.tar.xz=1db0212c08e126bf6ee28a0d363c5d6859fe357aa9e91d0247059397dbe7e1fd +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-linux-musl.tar.gz=f0844ed876bc70972745adedb69294637c65d099a2eb4e7aeb80eff36089d172 +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-linux-musl.tar.xz=e3cf9dd84c61fc37f5d834026d1f0aeb14b75df561b762436d435e2ea0308b1a +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-netbsd.tar.gz=89fcfc0059ffaed872a31e1aa14917e20d7229e20e5d1bdce299c3cb35bb97d8 +dist/2025-01-09/clippy-1.84.0-x86_64-unknown-netbsd.tar.xz=a87cca2556a99787a102c6c6508d7bb2f139cbd7d07d9b90575bb22a1f401bec \ No newline at end of file From 44755086c85452ccd4c765a8f5c5061fd38e3f17 Mon Sep 17 00:00:00 2001 From: Ding Xiang Fei Date: Thu, 5 Dec 2024 02:58:59 +0800 Subject: [PATCH 2/8] run borrowck tests on BIDs and emit tail-expr-drop-order lints for potential violations (cherry picked from commit 045271ccccd6c485f65ed94aeef3357a512e22fb) --- compiler/rustc_borrowck/messages.ftl | 3 + compiler/rustc_borrowck/src/lib.rs | 79 +++++++++++++++---- .../rustc_borrowck/src/session_diagnostics.rs | 7 ++ compiler/rustc_mir_build/src/builder/scope.rs | 6 +- .../lint-tail-expr-drop-order-borrowck.rs | 37 +++++++++ .../lint-tail-expr-drop-order-borrowck.stderr | 40 ++++++++++ 6 files changed, 155 insertions(+), 17 deletions(-) create mode 100644 tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs create mode 100644 tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr diff --git a/compiler/rustc_borrowck/messages.ftl b/compiler/rustc_borrowck/messages.ftl index ee4b2f95cb151..c1d5af59b1b5b 100644 --- a/compiler/rustc_borrowck/messages.ftl +++ b/compiler/rustc_borrowck/messages.ftl @@ -213,6 +213,9 @@ borrowck_suggest_create_fresh_reborrow = borrowck_suggest_iterate_over_slice = consider iterating over a slice of the `{$ty}`'s content to avoid moving into the `for` loop +borrowck_tail_expr_drop_order = a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error + .label = consider using a `let` binding to create a longer lived value; or replacing the `{"{"} .. {"}"}` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe {"{"} .. {"}"}` + borrowck_ty_no_impl_copy = {$is_partial_move -> [true] partial move diff --git a/compiler/rustc_borrowck/src/lib.rs b/compiler/rustc_borrowck/src/lib.rs index b061a450c83f7..bb1cb7f3de031 100644 --- a/compiler/rustc_borrowck/src/lib.rs +++ b/compiler/rustc_borrowck/src/lib.rs @@ -15,6 +15,7 @@ #![warn(unreachable_pub)] // tidy-alphabetical-end +use std::borrow::Cow; use std::cell::RefCell; use std::marker::PhantomData; use std::ops::Deref; @@ -23,6 +24,7 @@ use rustc_abi::FieldIdx; use rustc_data_structures::fx::{FxIndexMap, FxIndexSet}; use rustc_data_structures::graph::dominators::Dominators; use rustc_hir as hir; +use rustc_hir::CRATE_HIR_ID; use rustc_hir::def_id::LocalDefId; use rustc_index::bit_set::{BitSet, MixedBitSet}; use rustc_index::{IndexSlice, IndexVec}; @@ -42,7 +44,7 @@ use rustc_mir_dataflow::move_paths::{ InitIndex, InitLocation, LookupResult, MoveData, MovePathIndex, }; use rustc_mir_dataflow::{Analysis, EntryStates, Results, ResultsVisitor, visit_results}; -use rustc_session::lint::builtin::UNUSED_MUT; +use rustc_session::lint::builtin::{TAIL_EXPR_DROP_ORDER, UNUSED_MUT}; use rustc_span::{Span, Symbol}; use smallvec::SmallVec; use tracing::{debug, instrument}; @@ -636,9 +638,11 @@ impl<'a, 'tcx> ResultsVisitor<'a, 'tcx, Borrowck<'a, 'tcx>> for MirBorrowckCtxt< | StatementKind::Coverage(..) // These do not actually affect borrowck | StatementKind::ConstEvalCounter - // This do not affect borrowck - | StatementKind::BackwardIncompatibleDropHint { .. } | StatementKind::StorageLive(..) => {} + // This does not affect borrowck + StatementKind::BackwardIncompatibleDropHint { place, reason: BackwardIncompatibleDropReason::Edition2024 } => { + self.check_backward_incompatible_drop(location, (**place, span), state); + } StatementKind::StorageDead(local) => { self.access_place( location, @@ -1007,6 +1011,23 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { } } + fn maybe_polonius_borrows_in_scope<'s>( + &self, + location: Location, + state: &'s BorrowckDomain, + ) -> Cow<'s, BitSet> { + if let Some(polonius) = &self.polonius_output { + let location = self.location_table.start_index(location); + let mut polonius_output = BitSet::new_empty(self.borrow_set.len()); + for &idx in polonius.errors_at(location) { + polonius_output.insert(idx); + } + Cow::Owned(polonius_output) + } else { + Cow::Borrowed(&state.borrows) + } + } + #[instrument(level = "debug", skip(self, state))] fn check_access_for_conflict( &mut self, @@ -1019,17 +1040,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { let mut error_reported = false; // Use polonius output if it has been enabled. - let mut polonius_output; - let borrows_in_scope = if let Some(polonius) = &self.polonius_output { - let location = self.location_table.start_index(location); - polonius_output = BitSet::new_empty(self.borrow_set.len()); - for &idx in polonius.errors_at(location) { - polonius_output.insert(idx); - } - &polonius_output - } else { - &state.borrows - }; + let borrows_in_scope = self.maybe_polonius_borrows_in_scope(location, state); each_borrow_involving_path( self, @@ -1149,6 +1160,46 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { error_reported } + /// Through #123739, backward incompatible drops (BIDs) are introduced. + /// We would like to emit lints whether borrow checking fails at these future drop locations. + #[instrument(level = "debug", skip(self, state))] + fn check_backward_incompatible_drop( + &mut self, + location: Location, + place_span: (Place<'tcx>, Span), + state: &BorrowckDomain, + ) { + let sd = AccessDepth::Drop; + + // Use polonius output if it has been enabled. + let borrows_in_scope = self.maybe_polonius_borrows_in_scope(location, state); + + // This is a very simplified version of `Self::check_access_for_conflict`. + // We are here checking on BIDs and specifically still-live borrows of data involving the BIDs. + each_borrow_involving_path( + self, + self.infcx.tcx, + self.body, + (sd, place_span.0), + self.borrow_set, + |borrow_index| borrows_in_scope.contains(borrow_index), + |this, _borrow_index, borrow| { + if matches!(borrow.kind, BorrowKind::Fake(_)) { + return Control::Continue; + } + let borrowed = this.retrieve_borrow_spans(borrow).var_or_use_path_span(); + this.infcx.tcx.emit_node_span_lint( + TAIL_EXPR_DROP_ORDER, + CRATE_HIR_ID, + place_span.1, + session_diagnostics::TailExprDropOrder { borrowed }, + ); + // We may stop at the first case + Control::Break + }, + ); + } + fn mutate_place( &mut self, location: Location, diff --git a/compiler/rustc_borrowck/src/session_diagnostics.rs b/compiler/rustc_borrowck/src/session_diagnostics.rs index 627444a4ce5b8..4be5d0dbf4284 100644 --- a/compiler/rustc_borrowck/src/session_diagnostics.rs +++ b/compiler/rustc_borrowck/src/session_diagnostics.rs @@ -480,3 +480,10 @@ pub(crate) struct SimdIntrinsicArgConst { pub arg: usize, pub intrinsic: String, } + +#[derive(LintDiagnostic)] +#[diag(borrowck_tail_expr_drop_order)] +pub(crate) struct TailExprDropOrder { + #[label] + pub borrowed: Span, +} diff --git a/compiler/rustc_mir_build/src/builder/scope.rs b/compiler/rustc_mir_build/src/builder/scope.rs index 35c98037827af..20441530a4790 100644 --- a/compiler/rustc_mir_build/src/builder/scope.rs +++ b/compiler/rustc_mir_build/src/builder/scope.rs @@ -1131,15 +1131,15 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { /// Schedule emission of a backwards incompatible drop lint hint. /// Applicable only to temporary values for now. + #[instrument(level = "debug", skip(self))] pub(crate) fn schedule_backwards_incompatible_drop( &mut self, span: Span, region_scope: region::Scope, local: Local, ) { - if !self.local_decls[local].ty.has_significant_drop(self.tcx, self.typing_env()) { - return; - } + // Note that we are *not* gating BIDs here on whether they have significant destructor. + // We need to know all of them so that we can capture potential borrow-checking errors. for scope in self.scopes.scopes.iter_mut().rev() { // Since we are inserting linting MIR statement, we have to invalidate the caches scope.invalidate_cache(); diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs new file mode 100644 index 0000000000000..1bd5655d7fe1d --- /dev/null +++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs @@ -0,0 +1,37 @@ +// Edition 2024 lint for change in drop order at tail expression +// This lint is to capture potential borrow-checking errors +// due to implementation of RFC 3606 +//@ edition: 2021 + +#![deny(tail_expr_drop_order)] //~ NOTE: the lint level is defined here + +fn should_lint_with_potential_borrowck_err() { + let _ = { String::new().as_str() }.len(); + //~^ ERROR: a temporary value will be dropped here + //~| WARN: this changes meaning in Rust 2024 + //~| NOTE: consider using a `let` binding + //~| NOTE: for more information, see +} + +fn should_lint_with_unsafe_block() { + fn f(_: usize) {} + f(unsafe { String::new().as_str() }.len()); + //~^ ERROR: a temporary value will be dropped here + //~| WARN: this changes meaning in Rust 2024 + //~| NOTE: consider using a `let` binding + //~| NOTE: for more information, see +} + +#[rustfmt::skip] +fn should_lint_with_big_block() { + fn f(_: T) {} + f({ + &mut || 0 + //~^ ERROR: a temporary value will be dropped here + //~| WARN: this changes meaning in Rust 2024 + //~| NOTE: consider using a `let` binding + //~| NOTE: for more information, see + }) +} + +fn main() {} diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr new file mode 100644 index 0000000000000..98ef0547c9075 --- /dev/null +++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr @@ -0,0 +1,40 @@ +error: a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:9:36 + | +LL | let _ = { String::new().as_str() }.len(); + | ------------- ^ + | | + | consider using a `let` binding to create a longer lived value; or replacing the `{ .. }` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe { .. }` + | + = warning: this changes meaning in Rust 2024 + = note: for more information, see +note: the lint level is defined here + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:6:9 + | +LL | #![deny(tail_expr_drop_order)] + | ^^^^^^^^^^^^^^^^^^^^ + +error: a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:18:37 + | +LL | f(unsafe { String::new().as_str() }.len()); + | ------------- ^ + | | + | consider using a `let` binding to create a longer lived value; or replacing the `{ .. }` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe { .. }` + | + = warning: this changes meaning in Rust 2024 + = note: for more information, see + +error: a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:29:17 + | +LL | &mut || 0 + | --------^ + | | + | consider using a `let` binding to create a longer lived value; or replacing the `{ .. }` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe { .. }` + | + = warning: this changes meaning in Rust 2024 + = note: for more information, see + +error: aborting due to 3 previous errors + From e39842814ce618ff2b6771901b373119c8c26e61 Mon Sep 17 00:00:00 2001 From: Ding Xiang Fei Date: Fri, 20 Dec 2024 01:21:51 +0800 Subject: [PATCH 3/8] apply suggestions on fn name (cherry picked from commit 34edb21f0bb34916410eb92b108d84075e4abd7e) --- compiler/rustc_borrowck/src/lib.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/rustc_borrowck/src/lib.rs b/compiler/rustc_borrowck/src/lib.rs index bb1cb7f3de031..5a1f1ea745130 100644 --- a/compiler/rustc_borrowck/src/lib.rs +++ b/compiler/rustc_borrowck/src/lib.rs @@ -1011,12 +1011,13 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { } } - fn maybe_polonius_borrows_in_scope<'s>( + fn borrows_in_scope<'s>( &self, location: Location, state: &'s BorrowckDomain, ) -> Cow<'s, BitSet> { if let Some(polonius) = &self.polonius_output { + // Use polonius output if it has been enabled. let location = self.location_table.start_index(location); let mut polonius_output = BitSet::new_empty(self.borrow_set.len()); for &idx in polonius.errors_at(location) { @@ -1039,8 +1040,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { ) -> bool { let mut error_reported = false; - // Use polonius output if it has been enabled. - let borrows_in_scope = self.maybe_polonius_borrows_in_scope(location, state); + let borrows_in_scope = self.borrows_in_scope(location, state); each_borrow_involving_path( self, @@ -1172,7 +1172,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { let sd = AccessDepth::Drop; // Use polonius output if it has been enabled. - let borrows_in_scope = self.maybe_polonius_borrows_in_scope(location, state); + let borrows_in_scope = self.borrows_in_scope(location, state); // This is a very simplified version of `Self::check_access_for_conflict`. // We are here checking on BIDs and specifically still-live borrows of data involving the BIDs. From 61c0bcfff38061db83d055f6af5231ad78e06e8f Mon Sep 17 00:00:00 2001 From: wieDasDing <6884440+dingxiangfei2009@users.noreply.github.com> Date: Fri, 20 Dec 2024 02:08:36 +0800 Subject: [PATCH 4/8] remove an extraneous comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rémy Rakic (cherry picked from commit 13c7122df869f6b29799ea96599cce1fc5880376) --- compiler/rustc_borrowck/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/compiler/rustc_borrowck/src/lib.rs b/compiler/rustc_borrowck/src/lib.rs index 5a1f1ea745130..a3911642ee65a 100644 --- a/compiler/rustc_borrowck/src/lib.rs +++ b/compiler/rustc_borrowck/src/lib.rs @@ -1171,7 +1171,6 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { ) { let sd = AccessDepth::Drop; - // Use polonius output if it has been enabled. let borrows_in_scope = self.borrows_in_scope(location, state); // This is a very simplified version of `Self::check_access_for_conflict`. From 273873a671380d5394a6c93157be34825e6d8c5f Mon Sep 17 00:00:00 2001 From: Michael Goulet Date: Sun, 5 Jan 2025 18:07:16 +0000 Subject: [PATCH 5/8] Don't create cycles by normalizing opaques defined in the body we're checking (cherry picked from commit 197f6d8081451c5ad394601dbdd8509bbb92f446) --- .../src/lint_tail_expr_drop_order.rs | 7 ++++- tests/ui/drop/lint-tail-expr-drop-order.rs | 1 - .../ui/drop/lint-tail-expr-drop-order.stderr | 27 +++++++------------ ...expr_drop_order-on-coroutine-unwind.stderr | 4 +++ ..._expr_drop_order-on-recursive-boxed-fut.rs | 13 +++++++++ 5 files changed, 33 insertions(+), 19 deletions(-) create mode 100644 tests/ui/drop/tail_expr_drop_order-on-recursive-boxed-fut.rs diff --git a/compiler/rustc_mir_transform/src/lint_tail_expr_drop_order.rs b/compiler/rustc_mir_transform/src/lint_tail_expr_drop_order.rs index e5a183bc75ce5..6590702118c7f 100644 --- a/compiler/rustc_mir_transform/src/lint_tail_expr_drop_order.rs +++ b/compiler/rustc_mir_transform/src/lint_tail_expr_drop_order.rs @@ -351,6 +351,11 @@ pub(crate) fn run_lint<'tcx>(tcx: TyCtxt<'tcx>, def_id: LocalDefId, body: &Body< { return; } + + // FIXME(typing_env): This should be able to reveal the opaques local to the + // body using the typeck results. + let typing_env = ty::TypingEnv::non_body_analysis(tcx, def_id); + // ## About BIDs in blocks ## // Track the set of blocks that contain a backwards-incompatible drop (BID) // and, for each block, the vector of locations. @@ -358,7 +363,7 @@ pub(crate) fn run_lint<'tcx>(tcx: TyCtxt<'tcx>, def_id: LocalDefId, body: &Body< // We group them per-block because they tend to scheduled in the same drop ladder block. let mut bid_per_block = IndexMap::default(); let mut bid_places = UnordSet::new(); - let typing_env = ty::TypingEnv::post_analysis(tcx, def_id); + let mut ty_dropped_components = UnordMap::default(); for (block, data) in body.basic_blocks.iter_enumerated() { for (statement_index, stmt) in data.statements.iter().enumerate() { diff --git a/tests/ui/drop/lint-tail-expr-drop-order.rs b/tests/ui/drop/lint-tail-expr-drop-order.rs index b2a5db0d87133..55a2d1d3b7543 100644 --- a/tests/ui/drop/lint-tail-expr-drop-order.rs +++ b/tests/ui/drop/lint-tail-expr-drop-order.rs @@ -17,7 +17,6 @@ impl Drop for LoudDropper { //~| NOTE: `#1` invokes this custom destructor //~| NOTE: `x` invokes this custom destructor //~| NOTE: `#1` invokes this custom destructor - //~| NOTE: `future` invokes this custom destructor //~| NOTE: `_x` invokes this custom destructor //~| NOTE: `#1` invokes this custom destructor fn drop(&mut self) { diff --git a/tests/ui/drop/lint-tail-expr-drop-order.stderr b/tests/ui/drop/lint-tail-expr-drop-order.stderr index 92afae5af6766..6ff9b7c12681d 100644 --- a/tests/ui/drop/lint-tail-expr-drop-order.stderr +++ b/tests/ui/drop/lint-tail-expr-drop-order.stderr @@ -1,5 +1,5 @@ error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:41:15 + --> $DIR/lint-tail-expr-drop-order.rs:40:15 | LL | let x = LoudDropper; | - @@ -40,7 +40,7 @@ LL | #![deny(tail_expr_drop_order)] | ^^^^^^^^^^^^^^^^^^^^ error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:66:19 + --> $DIR/lint-tail-expr-drop-order.rs:65:19 | LL | let x = LoudDropper; | - @@ -76,7 +76,7 @@ LL | | } = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:93:7 + --> $DIR/lint-tail-expr-drop-order.rs:92:7 | LL | let x = LoudDropper; | - @@ -112,7 +112,7 @@ LL | | } = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:146:5 + --> $DIR/lint-tail-expr-drop-order.rs:145:5 | LL | let future = f(); | ------ @@ -136,19 +136,12 @@ note: `#1` invokes this custom destructor | LL | / impl Drop for LoudDropper { ... | -LL | | } - | |_^ -note: `future` invokes this custom destructor - --> $DIR/lint-tail-expr-drop-order.rs:10:1 - | -LL | / impl Drop for LoudDropper { -... | LL | | } | |_^ = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:163:14 + --> $DIR/lint-tail-expr-drop-order.rs:162:14 | LL | let x = T::default(); | - @@ -170,7 +163,7 @@ LL | } = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:177:5 + --> $DIR/lint-tail-expr-drop-order.rs:176:5 | LL | let x: Result = Ok(LoudDropper); | - @@ -206,7 +199,7 @@ LL | | } = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:221:5 + --> $DIR/lint-tail-expr-drop-order.rs:220:5 | LL | let x = LoudDropper2; | - @@ -226,7 +219,7 @@ LL | } = warning: this changes meaning in Rust 2024 = note: for more information, see note: `#1` invokes this custom destructor - --> $DIR/lint-tail-expr-drop-order.rs:194:5 + --> $DIR/lint-tail-expr-drop-order.rs:193:5 | LL | / impl Drop for LoudDropper3 { LL | | @@ -236,7 +229,7 @@ LL | | } LL | | } | |_____^ note: `x` invokes this custom destructor - --> $DIR/lint-tail-expr-drop-order.rs:206:5 + --> $DIR/lint-tail-expr-drop-order.rs:205:5 | LL | / impl Drop for LoudDropper2 { LL | | @@ -248,7 +241,7 @@ LL | | } = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages error: relative drop order changing in Rust 2024 - --> $DIR/lint-tail-expr-drop-order.rs:234:13 + --> $DIR/lint-tail-expr-drop-order.rs:233:13 | LL | LoudDropper.get() | ^^^^^^^^^^^ diff --git a/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr b/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr index d98100bc1b04c..b0f971dd5cec6 100644 --- a/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr +++ b/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr @@ -4,10 +4,14 @@ error: relative drop order changing in Rust 2024 LL | match func().await { | ^^^^^^^----- | | | + | | this value will be stored in a temporary; let us call it `#3` + | | up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024 | | this value will be stored in a temporary; let us call it `#1` | | `#1` will be dropped later as of Edition 2024 | this value will be stored in a temporary; let us call it `#2` | up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024 + | `__awaitee` calls a custom destructor + | `__awaitee` will be dropped later as of Edition 2024 ... LL | Err(e) => {} | - diff --git a/tests/ui/drop/tail_expr_drop_order-on-recursive-boxed-fut.rs b/tests/ui/drop/tail_expr_drop_order-on-recursive-boxed-fut.rs new file mode 100644 index 0000000000000..4a72f224d9436 --- /dev/null +++ b/tests/ui/drop/tail_expr_drop_order-on-recursive-boxed-fut.rs @@ -0,0 +1,13 @@ +//@ edition: 2021 +//@ check-pass + +// Make sure we don't cycle error when normalizing types for tail expr drop order lint. + +#![deny(tail_expr_drop_order)] + +async fn test() -> Result<(), Box> { + Box::pin(test()).await?; + Ok(()) +} + +fn main() {} From 1b8413e296dd1d80158578049b3c97fa1e0dae4c Mon Sep 17 00:00:00 2001 From: Michael Goulet Date: Sun, 5 Jan 2025 19:11:00 +0000 Subject: [PATCH 6/8] Don't do AccessDepth::Drop for types with no drop impl (cherry picked from commit 4a099b29cdb6a7841019406f0f2b5035a1fd9a08) --- compiler/rustc_borrowck/src/lib.rs | 16 ++++-- .../tail_expr_drop_order-on-thread-local.rs | 56 +++++++++++++++++++ 2 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 tests/ui/drop/tail_expr_drop_order-on-thread-local.rs diff --git a/compiler/rustc_borrowck/src/lib.rs b/compiler/rustc_borrowck/src/lib.rs index a3911642ee65a..a35dff99669a9 100644 --- a/compiler/rustc_borrowck/src/lib.rs +++ b/compiler/rustc_borrowck/src/lib.rs @@ -1166,10 +1166,18 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { fn check_backward_incompatible_drop( &mut self, location: Location, - place_span: (Place<'tcx>, Span), + (place, place_span): (Place<'tcx>, Span), state: &BorrowckDomain, ) { - let sd = AccessDepth::Drop; + let tcx = self.infcx.tcx; + // If this type does not need `Drop`, then treat it like a `StorageDead`. + // This is needed because we track the borrows of refs to thread locals, + // and we'll ICE because we don't track borrows behind shared references. + let sd = if place.ty(self.body, tcx).ty.needs_drop(tcx, self.body.typing_env(tcx)) { + AccessDepth::Drop + } else { + AccessDepth::Shallow(None) + }; let borrows_in_scope = self.borrows_in_scope(location, state); @@ -1179,7 +1187,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { self, self.infcx.tcx, self.body, - (sd, place_span.0), + (sd, place), self.borrow_set, |borrow_index| borrows_in_scope.contains(borrow_index), |this, _borrow_index, borrow| { @@ -1190,7 +1198,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { this.infcx.tcx.emit_node_span_lint( TAIL_EXPR_DROP_ORDER, CRATE_HIR_ID, - place_span.1, + place_span, session_diagnostics::TailExprDropOrder { borrowed }, ); // We may stop at the first case diff --git a/tests/ui/drop/tail_expr_drop_order-on-thread-local.rs b/tests/ui/drop/tail_expr_drop_order-on-thread-local.rs new file mode 100644 index 0000000000000..e38175fd1b653 --- /dev/null +++ b/tests/ui/drop/tail_expr_drop_order-on-thread-local.rs @@ -0,0 +1,56 @@ +//@ check-pass + +#![feature(thread_local)] +#![deny(tail_expr_drop_order)] + +use std::marker::PhantomData; +use std::ops::{Deref, DerefMut}; + +pub struct Global; + +#[thread_local] +static REENTRANCY_STATE: State = State { marker: PhantomData, controller: Global }; + +pub struct Token(PhantomData<*mut ()>); + +pub fn with_mut(f: impl FnOnce(&mut Token) -> T) -> T { + f(&mut REENTRANCY_STATE.borrow_mut()) +} + +pub struct State { + marker: PhantomData<*mut ()>, + controller: T, +} + +impl State { + pub fn borrow_mut(&self) -> TokenMut<'_, T> { + todo!() + } +} + +pub struct TokenMut<'a, T: ?Sized = Global> { + state: &'a State, + token: Token, +} + +impl Deref for TokenMut<'_, T> { + type Target = Token; + + fn deref(&self) -> &Self::Target { + todo!() + } +} + +impl DerefMut for TokenMut<'_, T> { + fn deref_mut(&mut self) -> &mut Self::Target { + todo!() + } +} + +impl Drop for TokenMut<'_, T> { + fn drop(&mut self) { + todo!() + } +} + +fn main() {} From 18d31538375768a33fbd59952ccb74352922e954 Mon Sep 17 00:00:00 2001 From: Michael Goulet Date: Mon, 6 Jan 2025 03:25:45 +0000 Subject: [PATCH 7/8] Try to explain borrow for tail expr temporary drop order change in 2024 (cherry picked from commit c55eefe8bc51f302cfc89d375198ca7211d4709b) --- compiler/rustc_borrowck/messages.ftl | 5 ++- .../src/diagnostics/explain_borrow.rs | 18 ++++----- .../rustc_borrowck/src/diagnostics/mod.rs | 1 + .../src/diagnostics/region_name.rs | 4 +- compiler/rustc_borrowck/src/lib.rs | 23 +++++++++-- ...hod_1.ElaborateDrops.after.panic-abort.mir | 1 + ...od_1.ElaborateDrops.after.panic-unwind.mir | 1 + .../lint-tail-expr-drop-order-borrowck.rs | 26 ++++++++++--- .../lint-tail-expr-drop-order-borrowck.stderr | 38 ++++++++++++------- 9 files changed, 82 insertions(+), 35 deletions(-) diff --git a/compiler/rustc_borrowck/messages.ftl b/compiler/rustc_borrowck/messages.ftl index c1d5af59b1b5b..ada20e5c614f8 100644 --- a/compiler/rustc_borrowck/messages.ftl +++ b/compiler/rustc_borrowck/messages.ftl @@ -213,8 +213,9 @@ borrowck_suggest_create_fresh_reborrow = borrowck_suggest_iterate_over_slice = consider iterating over a slice of the `{$ty}`'s content to avoid moving into the `for` loop -borrowck_tail_expr_drop_order = a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error - .label = consider using a `let` binding to create a longer lived value; or replacing the `{"{"} .. {"}"}` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe {"{"} .. {"}"}` +borrowck_tail_expr_drop_order = relative drop order changing in Rust 2024 + .label = this temporary value will be dropped at the end of the block + .note = consider using a `let` binding to ensure the value will live long enough borrowck_ty_no_impl_copy = {$is_partial_move -> diff --git a/compiler/rustc_borrowck/src/diagnostics/explain_borrow.rs b/compiler/rustc_borrowck/src/diagnostics/explain_borrow.rs index 22f7f708419b9..26d8326a26269 100644 --- a/compiler/rustc_borrowck/src/diagnostics/explain_borrow.rs +++ b/compiler/rustc_borrowck/src/diagnostics/explain_borrow.rs @@ -5,7 +5,7 @@ use std::assert_matches::assert_matches; -use rustc_errors::{Applicability, Diag}; +use rustc_errors::{Applicability, Diag, EmissionGuarantee}; use rustc_hir as hir; use rustc_hir::intravisit::Visitor; use rustc_index::IndexSlice; @@ -60,12 +60,12 @@ impl<'tcx> BorrowExplanation<'tcx> { pub(crate) fn is_explained(&self) -> bool { !matches!(self, BorrowExplanation::Unexplained) } - pub(crate) fn add_explanation_to_diagnostic( + pub(crate) fn add_explanation_to_diagnostic( &self, tcx: TyCtxt<'tcx>, body: &Body<'tcx>, local_names: &IndexSlice>, - err: &mut Diag<'_>, + err: &mut Diag<'_, G>, borrow_desc: &str, borrow_span: Option, multiple_borrow_span: Option<(Span, Span)>, @@ -348,10 +348,10 @@ impl<'tcx> BorrowExplanation<'tcx> { } } - fn add_object_lifetime_default_note( + fn add_object_lifetime_default_note( &self, tcx: TyCtxt<'tcx>, - err: &mut Diag<'_>, + err: &mut Diag<'_, G>, unsize_ty: Ty<'tcx>, ) { if let ty::Adt(def, args) = unsize_ty.kind() { @@ -405,9 +405,9 @@ impl<'tcx> BorrowExplanation<'tcx> { } } - fn add_lifetime_bound_suggestion_to_diagnostic( + fn add_lifetime_bound_suggestion_to_diagnostic( &self, - err: &mut Diag<'_>, + err: &mut Diag<'_, G>, category: &ConstraintCategory<'tcx>, span: Span, region_name: &RegionName, @@ -434,14 +434,14 @@ impl<'tcx> BorrowExplanation<'tcx> { } } -fn suggest_rewrite_if_let( +fn suggest_rewrite_if_let( tcx: TyCtxt<'_>, expr: &hir::Expr<'_>, pat: &str, init: &hir::Expr<'_>, conseq: &hir::Expr<'_>, alt: Option<&hir::Expr<'_>>, - err: &mut Diag<'_>, + err: &mut Diag<'_, G>, ) { let source_map = tcx.sess.source_map(); err.span_note( diff --git a/compiler/rustc_borrowck/src/diagnostics/mod.rs b/compiler/rustc_borrowck/src/diagnostics/mod.rs index 180046ca25620..baa66f01f311e 100644 --- a/compiler/rustc_borrowck/src/diagnostics/mod.rs +++ b/compiler/rustc_borrowck/src/diagnostics/mod.rs @@ -1001,6 +1001,7 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> { kind, }; } + normal_ret } diff --git a/compiler/rustc_borrowck/src/diagnostics/region_name.rs b/compiler/rustc_borrowck/src/diagnostics/region_name.rs index bdb880b2bced3..9349b46ec5b0c 100644 --- a/compiler/rustc_borrowck/src/diagnostics/region_name.rs +++ b/compiler/rustc_borrowck/src/diagnostics/region_name.rs @@ -5,7 +5,7 @@ use std::fmt::{self, Display}; use std::iter; use rustc_data_structures::fx::IndexEntry; -use rustc_errors::Diag; +use rustc_errors::{Diag, EmissionGuarantee}; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_middle::ty::print::RegionHighlightMode; @@ -108,7 +108,7 @@ impl RegionName { } } - pub(crate) fn highlight_region_name(&self, diag: &mut Diag<'_>) { + pub(crate) fn highlight_region_name(&self, diag: &mut Diag<'_, G>) { match &self.source { RegionNameSource::NamedLateParamRegion(span) | RegionNameSource::NamedEarlyParamRegion(span) => { diff --git a/compiler/rustc_borrowck/src/lib.rs b/compiler/rustc_borrowck/src/lib.rs index a35dff99669a9..e7aa827e6801c 100644 --- a/compiler/rustc_borrowck/src/lib.rs +++ b/compiler/rustc_borrowck/src/lib.rs @@ -23,6 +23,7 @@ use std::ops::Deref; use rustc_abi::FieldIdx; use rustc_data_structures::fx::{FxIndexMap, FxIndexSet}; use rustc_data_structures::graph::dominators::Dominators; +use rustc_errors::LintDiagnostic; use rustc_hir as hir; use rustc_hir::CRATE_HIR_ID; use rustc_hir::def_id::LocalDefId; @@ -1195,11 +1196,27 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> { return Control::Continue; } let borrowed = this.retrieve_borrow_spans(borrow).var_or_use_path_span(); - this.infcx.tcx.emit_node_span_lint( + let explain = this.explain_why_borrow_contains_point( + location, + borrow, + Some((WriteKind::StorageDeadOrDrop, place)), + ); + this.infcx.tcx.node_span_lint( TAIL_EXPR_DROP_ORDER, CRATE_HIR_ID, - place_span, - session_diagnostics::TailExprDropOrder { borrowed }, + borrowed, + |diag| { + session_diagnostics::TailExprDropOrder { borrowed }.decorate_lint(diag); + explain.add_explanation_to_diagnostic( + this.infcx.tcx, + this.body, + &this.local_names, + diag, + "", + None, + None, + ); + }, ); // We may stop at the first case Control::Break diff --git a/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-abort.mir b/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-abort.mir index e9bbe30bd774f..ee6e16d20fd8d 100644 --- a/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-abort.mir +++ b/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-abort.mir @@ -74,6 +74,7 @@ fn method_1(_1: Guard) -> () { bb7: { backward incompatible drop(_2); + backward incompatible drop(_4); backward incompatible drop(_5); goto -> bb21; } diff --git a/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-unwind.mir b/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-unwind.mir index e9bbe30bd774f..ee6e16d20fd8d 100644 --- a/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-unwind.mir +++ b/tests/mir-opt/tail_expr_drop_order_unwind.method_1.ElaborateDrops.after.panic-unwind.mir @@ -74,6 +74,7 @@ fn method_1(_1: Guard) -> () { bb7: { backward incompatible drop(_2); + backward incompatible drop(_4); backward incompatible drop(_5); goto -> bb21; } diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs index 1bd5655d7fe1d..6f64d83f8a0c3 100644 --- a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs +++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs @@ -7,18 +7,20 @@ fn should_lint_with_potential_borrowck_err() { let _ = { String::new().as_str() }.len(); - //~^ ERROR: a temporary value will be dropped here + //~^ ERROR: relative drop order changing //~| WARN: this changes meaning in Rust 2024 - //~| NOTE: consider using a `let` binding + //~| NOTE: this temporary value will be dropped at the end of the block + //~| borrow later used by call //~| NOTE: for more information, see } fn should_lint_with_unsafe_block() { fn f(_: usize) {} f(unsafe { String::new().as_str() }.len()); - //~^ ERROR: a temporary value will be dropped here + //~^ ERROR: relative drop order changing //~| WARN: this changes meaning in Rust 2024 - //~| NOTE: consider using a `let` binding + //~| NOTE: this temporary value will be dropped at the end of the block + //~| borrow later used by call //~| NOTE: for more information, see } @@ -27,11 +29,23 @@ fn should_lint_with_big_block() { fn f(_: T) {} f({ &mut || 0 - //~^ ERROR: a temporary value will be dropped here + //~^ ERROR: relative drop order changing //~| WARN: this changes meaning in Rust 2024 - //~| NOTE: consider using a `let` binding + //~| NOTE: this temporary value will be dropped at the end of the block + //~| borrow later used here //~| NOTE: for more information, see }) } +fn another_temp_that_is_copy_in_arg() { + fn f() {} + fn g(_: &()) {} + g({ &f() }); + //~^ ERROR: relative drop order changing + //~| WARN: this changes meaning in Rust 2024 + //~| NOTE: this temporary value will be dropped at the end of the block + //~| borrow later used by call + //~| NOTE: for more information, see +} + fn main() {} diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr index 98ef0547c9075..a55e366dd0be1 100644 --- a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr +++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr @@ -1,10 +1,10 @@ -error: a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error - --> $DIR/lint-tail-expr-drop-order-borrowck.rs:9:36 +error: relative drop order changing in Rust 2024 + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:9:15 | LL | let _ = { String::new().as_str() }.len(); - | ------------- ^ + | ^^^^^^^^^^^^^ --- borrow later used by call | | - | consider using a `let` binding to create a longer lived value; or replacing the `{ .. }` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe { .. }` + | this temporary value will be dropped at the end of the block | = warning: this changes meaning in Rust 2024 = note: for more information, see @@ -14,27 +14,39 @@ note: the lint level is defined here LL | #![deny(tail_expr_drop_order)] | ^^^^^^^^^^^^^^^^^^^^ -error: a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error - --> $DIR/lint-tail-expr-drop-order-borrowck.rs:18:37 +error: relative drop order changing in Rust 2024 + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:19:16 | LL | f(unsafe { String::new().as_str() }.len()); - | ------------- ^ + | ^^^^^^^^^^^^^ --- borrow later used by call | | - | consider using a `let` binding to create a longer lived value; or replacing the `{ .. }` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe { .. }` + | this temporary value will be dropped at the end of the block | = warning: this changes meaning in Rust 2024 = note: for more information, see -error: a temporary value will be dropped here before the execution exits the block in Edition 2024, which will raise borrow checking error - --> $DIR/lint-tail-expr-drop-order-borrowck.rs:29:17 +error: relative drop order changing in Rust 2024 + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:31:9 | LL | &mut || 0 - | --------^ + | ^^^^^^^^^ | | - | consider using a `let` binding to create a longer lived value; or replacing the `{ .. }` block with curly brackets `( .. )`; or folding the rest of the expression into the surrounding `unsafe { .. }` + | this temporary value will be dropped at the end of the block + | borrow later used here | = warning: this changes meaning in Rust 2024 = note: for more information, see -error: aborting due to 3 previous errors +error: relative drop order changing in Rust 2024 + --> $DIR/lint-tail-expr-drop-order-borrowck.rs:43:9 + | +LL | g({ &f() }); + | - ^^^^ this temporary value will be dropped at the end of the block + | | + | borrow later used by call + | + = warning: this changes meaning in Rust 2024 + = note: for more information, see + +error: aborting due to 4 previous errors From ce4e43f0d2169a247a8193084d35284c32392cac Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 10 Jan 2025 16:32:06 -0800 Subject: [PATCH 8/8] Bless test UI changes in backport --- tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs | 4 ++-- tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs index 6f64d83f8a0c3..f37707e0bf295 100644 --- a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs +++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.rs @@ -10,7 +10,7 @@ fn should_lint_with_potential_borrowck_err() { //~^ ERROR: relative drop order changing //~| WARN: this changes meaning in Rust 2024 //~| NOTE: this temporary value will be dropped at the end of the block - //~| borrow later used by call + //~| borrow later used here //~| NOTE: for more information, see } @@ -20,7 +20,7 @@ fn should_lint_with_unsafe_block() { //~^ ERROR: relative drop order changing //~| WARN: this changes meaning in Rust 2024 //~| NOTE: this temporary value will be dropped at the end of the block - //~| borrow later used by call + //~| borrow later used here //~| NOTE: for more information, see } diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr index a55e366dd0be1..862b01119e8ed 100644 --- a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr +++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr @@ -2,9 +2,10 @@ error: relative drop order changing in Rust 2024 --> $DIR/lint-tail-expr-drop-order-borrowck.rs:9:15 | LL | let _ = { String::new().as_str() }.len(); - | ^^^^^^^^^^^^^ --- borrow later used by call + | ^^^^^^^^^^^^^--------- | | | this temporary value will be dropped at the end of the block + | borrow later used here | = warning: this changes meaning in Rust 2024 = note: for more information, see @@ -18,9 +19,10 @@ error: relative drop order changing in Rust 2024 --> $DIR/lint-tail-expr-drop-order-borrowck.rs:19:16 | LL | f(unsafe { String::new().as_str() }.len()); - | ^^^^^^^^^^^^^ --- borrow later used by call + | ^^^^^^^^^^^^^--------- | | | this temporary value will be dropped at the end of the block + | borrow later used here | = warning: this changes meaning in Rust 2024 = note: for more information, see