Hi, With rustc 1.53, rust has stabilized integer::BITS and it makes the lexical-core crate vendored in suricata to fail to build with rustc 1.53.0.
The following diff backport lexical-core fix which is landed in lexical-core 0.7.5 (suricata is using 0.6.7). Upstream discussion: https://forum.suricata.io/t/latest-suricata-6-0-2-with-rustc-has-trouble-installing-with-error-could-not-compile-lexical-core/1461 The diff is ugly, mostly due to cargo-checksum.json change. but I think it is preferable to have a diff instead of a post-patch sed command as the sed command might be easily forgotten on update. I tested the build with lang/rust 1.53.0. Comments or OK ? -- Sebastien Marie Index: patches/patch-rust_vendor_lexical-core__cargo-checksum_json =================================================================== RCS file: patches/patch-rust_vendor_lexical-core__cargo-checksum_json diff -N patches/patch-rust_vendor_lexical-core__cargo-checksum_json --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-rust_vendor_lexical-core__cargo-checksum_json 19 Jun 2021 08:16:48 -0000 @@ -0,0 +1,10 @@ +$OpenBSD$ +Backport of https://github.com/Alexhuszagh/rust-lexical/pull/56 for rustc 1.53.0 + +Index: rust/vendor/lexical-core/.cargo-checksum.json +--- rust/vendor/lexical-core/.cargo-checksum.json.orig ++++ rust/vendor/lexical-core/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"CHANGELOG":"36ac8dc0bc46ac1c9fc0bdd1f2cbcbfa8d43684f22aac97d33132e33b2cc3081","Cargo.toml":"fd799e21273a9c2181bd45a562d8226a9835d9611f66db71cbeb6fe93b60db0b","LICENSE-APACHE":"8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"c99e5c41324109869738a8bd5cfb41b12c0254abef471b3de9790c91807009d0","build.rs":"8dbe6619d4be32c7f81cdc849a5d40067c03913136b6b536cfc616d398efce79","src/atof/algorithm/alias.rs":"19143a97dc6a2bdd8b212b43d8cea79dc3f8ec776f7cc27d6dc20621ae70b7bd","src/atof/algorithm/bhcomp.rs":"d07c730e02c786d28d5565ca56f41d08c686830cec739ca8b6fddcf78c4cb570","src/atof/algorithm/bigcomp.rs":"da3e4110c26414b86015f34a74898073bdf1ac95555e7e400e5449809df549eb","src/atof/algorithm/bignum.rs":"5809ac8acb417047e43ea4d4c6126b66799576cb26fdea400ce9b5fb28852044","src/atof/algorithm/cached.rs":"6c81da44969500f039ef06da804a84fc9d1f79c5a4081c50952d9ceb12d70bbe","src/atof/algorithm/cached_float160.rs":"e0e7ab1fafe4b3793bdbd8710f3d2c5417a4c70c263b9f1399f4dc09991a6f3a","src/atof/algorithm/cached_float80.rs":"f9dc141c121d33dd54b2867d41e063694ca2a8bd73d3a91a4cb9499293cf7d8c","src/atof/algorithm/correct.rs":"c1a9eeec5bc514a704812f7dd06ccdc9264ed0c8e8bbfc043a546deeffd55567","src/atof/algorithm/errors.rs":"d422d28471a70f0035e226d474168ba5f28852d113b52b9617b98f6aa53c7937","src/atof/algorithm/format/exponent.rs":"77fc9ad541617d52295bd7892c455788382d27c37ac807a1bb43b3601c2e50a8","src/atof/algorithm/format/generic.rs":"aab554937a5e92c1ae88d47a8a8a1b7234e3879d38d9bdf097355f871499ea3c","src/atof/algorithm/format/ignore.rs":"0ea14e66f65129ec1898614c7900b7a4c32916343b5d08d0da48e891935b957e","src/atof/algorithm/format/interface.rs":"baa1120664d88ae9551b8ffd892c712e0da8757815d53db0b51f5dd974d30d97","src/atof/algorithm/format/mod.rs":"a7c377b51d702ccdd4bf205c7bfaab0c5c250b583fd0bec5dddf0728fbe7a398","src/atof/algorithm/format/permissive.rs":"bb708d2bd5ac1519ec27e53e58ffb0c4d7c1299a23b336aa5c4941485183a72b","src/atof/algorithm/format/standard.rs":"7e2d3f92c99eaf8bc54add5306b5b5d42b89d1e170b087a52da1f6793143f250","src/atof/algorithm/format/traits.rs":"1b3ad92f70bcc87f3cb23243c13df5f6a7963d236e361f9657e61b72c35208ce","src/atof/algorithm/format/trim.rs":"54003724a6b5b3e3c74df2a2913a1540031069dc7a52357fba5232d0f8f64677","src/atof/algorithm/format/validate.rs":"e019bd24989194abf956b227fcd53c407aba873eaf3f3bed00a236f41ddbbba0","src/atof/algorithm/incorrect.rs":"51f237f9a72a35d1cce1831e68dfaa42b09fa52ca95401fbbc61f49b3734156c","src/atof/algorithm/large_powers.rs":"b778f15dc831be4e132448dbe04e19a6946926773bb9dea89fe8426ef8e10282","src/atof/algorithm/large_powers_32.rs":"f1c191113cf80d922adbfcf7811450508aff06074b456eada8ece00106c95486","src/atof/algorithm/large_powers_64.rs":"644b40cd84f81964c241085720b631cfd41a026f95aee27328d6ef12069673ab","src/atof/algorithm/math.rs":"430e4d2e17850090761ef945cdd32ff2a80049777bd566d31d03b7989703002e","src/atof/algorithm/mod.rs":"8f50d4328bd444c1d23579bd8dd7b3936c046322893af5e6fb11389219994a40","src/atof/algorithm/small_powers.rs":"37e0ad6aa7e0576c824b00090c2561e8b5fddfd2ab23c7a4e913d88c780d25eb","src/atof/algorithm/small_powers_32.rs":"5b974d3ea5ee4a5c459b32206bb1a6949b4831af299d7ea0122a6142b8c7f153","src/atof/algorithm/small_powers_64.rs":"16f260763b9e6a7b6365f9ae120305b43a4e2676ba7b62fff5a44e868d2637d0","src/atof/api.rs":"f8477127f117b7acf6b82e2a07a629c3003a846ffb28658b9347aa5a8cfc275d","src/atof/mod.rs":"4ea3fb2ecc03484da240ab78960d20577e095605a81364c4edc1a975f4337aae","src/atoi/api.rs":"42c7d00838b74db9ae993b0977ac354e724e2e800433252e1bec705102a96fbe","src/atoi/exponent.rs":"9477ce345fe9ea3365b388f7a3b3693ee80fe15c4f714ccef943143757b77832","src/atoi/generic.rs":"dcabc6609862e64618c452d03b9c58c4d2a76158a5f2eecae016689d8ac3913a","src/atoi/mantissa.rs":"713a9c9cf8e5d92499af4a3ca97a3b0aa841135b392b291583f5030d63873084","src/atoi/mod.rs":"68c2c460b56398c495e42024243c4f114c47f2c96273c1ce8274edc7a8ac3fda","src/atoi/shared.rs":"290eed81a5523b6563abc85414ff7627106eaa3e822e3ecab85c8171a514bc6b","src/float/convert.rs":"a509409ee547a7258b2b4dea5f1bcfa331f7185bef8187d89d95faf319a8f010","src/float/float.rs":"a093ed7ff1dd8879b3705e9bceec2d026f3cd1506a29ec6fcd9ad4f903baed77","src/float/mantissa.rs":"22fe797e3763d7e0d801ad1be4c4017569134096bfe10569d717411dc7bf3a91","src/float/mod.rs":"8a769a10c564cd55b380685b8fb1318e2a4f41a2f42befcbef0defe0e726cd65","src/float/rounding.rs":"90edcdd5aa3b59b9a86995324f32f80d45d6f7dacc911b47f8bbb415426e8d1a","src/float/shift.rs":"8f0c62e3fa5645bee43bb7c9dd3cca20d9b0251f543d3be50b82a41dada28d0e","src/ftoa/api.rs":"4851db7ed9b15ad66643bd9728160211d2996443fa2662dfd548a045d9ea3ea7","src/ftoa/grisu2.rs":"2cf9c3274835a852142895abcf518caa70c7f5333cc3149069eebcfaebed2600","src/ftoa/grisu3.rs":"451489ee3708cb1cf02c6f7a4c3fca2316fd503f692492675f3b7e89f1d2908c","src/ftoa/mod.rs":"9609a66efc47f8ca474a3f993ebb98117cd91c1c1dc27ba5b23440d6b3f1471b","src/ftoa/radix.rs":"90e903a7d66ec8d59a53c432a70fbbedc1869d35b9e07222e0fdba93508fe661","src/ftoa/ryu.rs":"34f914a8cf40bd90c900cdd284ff01f9738ec1da4205f3b60f3fb238ff15103f","src/itoa/api.rs":"30ad0a420f22d67814af7c44199bbff4f48dfac96285570a388a5c5ea87577bd","src/itoa/decimal.rs":"e87c32c48ba788e8814999d23cb532dc057b7025057365bccf606638fa707298","src/itoa/generic.rs":"86ba11b32d981bcfc4037c29b345868530ca73dac3446cc5be4fd59ff876c2ea","src/itoa/mod.rs":"9b7e96338a0003a9d3176b91387c7cc0590c3c4c799b2bc1478e553515bbc9bd","src/itoa/naive.rs":"d27437d8b4669c7a2fa8f3f8869bd6aab5f18a0d618fbf1f3bcbc5f1ae90e4a0","src/lib.rs":"c10c744d9ab0b6bb434e8316d0de318a0bdb4bca47ff1627c7c08379b7b6d9e3","src/util/algorithm.rs":"2a448aac0b0d6c6c21ba356e9704a6673eddf11415038206eed48c1968cedf21","src/util/assert.rs":"668ff920c1724105055f565948c1674f858e74634432ab8d4514b8bf2ed688f1","src/util/bound.rs":"469c49e6a883edf9c0ae012813ceac50c9fc97462aea049f390cf07268071e2d","src/util/cast.rs":"bbd1a2b4f2b7eb3b93a6f462a792b09846d6b1e25232d34371befe0978179558","src/util/config.rs":"5b2c91da5108e7119cc7ea7438ba23f2fce29fb68efe5a06ca3f8609c5855736","src/util/consume.rs":"df25df0020d8a322a894e85bc8a202385e57b93242b9e285e5892b0091b42c50","src/util/div128.rs":"fb6943a8adbfa565075980246bb2a75784dc78f83bb40ff9e178cd066e82f7b0","src/util/error.rs":"19d523338ff6ea82312988dcc8f7bed4c3a96985df071553b3bd5ed228625c1b","src/util/format.rs":"9613c6e34e599928a7825d4917d55e373a3df4230789b2e23d6f91e5e68bbd4b","src/util/index.rs":"eadc46ee24b008f766f9f70d44e3e9b475c38154351cae3eefd49c0218f66400","src/util/iterator.rs":"2d4b6f3e628e9ce91687adb90c6ee8ffd52b5e3bead649ee4a8ef497f34aa8f6","src/util/mask.rs":"299b00fc1ce149c7f8763602345d21cab9d91207ef6519ea1d175248f63f05e0","src/util/mod.rs":"408853a93ee8073b297c94e120297f23739d732076a2aeaefa361e5d7763523a","src/util/num.rs":"82def6e5fee09a69eb7690838702602790b4804268f431a75047d476ee77a80b","src/util/perftools.rs":"3dde4045fe630543474e1b70c7eecf73efb7a8c474bfee7f1b2ef619fafe265e","src/util/pointer_methods.rs":"a083b854936b21e8f54f3510952945979fae47993322500e597cc2e4769ecd79","src/util/pow.rs":"7b15310b98fa562329232e8bd963aef5ebf521e54e249cfc7005d7eacfb1598a","src/util/primitive.rs":"102337c82de940d7b492e63af222eaa7cf477468a344672366784e9553dab801","src/util/range_bounds.rs":"2d069fa04ff31715a02c5e067aa0b390b4692ba245617cc8e4fb58abdb09b0fc","src/util/result.rs":"cc3c8d7a81b2bd4d3d83d27525df9e2954d149ee1ddf543d51b405371493cc9e","src/util/rounding.rs":"be2e3d282ffcb176ee6530d42a67bc57474b3fc9e16de6989ffa43d5997d4670","src/util/sequence.rs":"d3030dac73c74abf420683962513499c448abab2b68c5fb8b0e785cf9f6be0db","src/util/sign.rs":"528ce4d64de019a454cb70bdf104a02712999587a2bc87ff96bda703e3f69cb9","src/util/skip_value.rs":"6e1f5158bfc64cab16ef711e51c79e3c6c8912e19d4b88586779fab9bc9de97f","src/util/slice_index.rs":"4f9e340c0a351f6ca81cea962a18ea8431aeb0fb4c5e959cb940f991f66789b5","src/util/table.rs":"5209ac4585b9dece2efac6d1b50237aaa0fda00c537783e543e1332bf9b1247a","src/util/test.rs":"7726ea1ff853961fe06a4ec382a9870f6b7e5701d4ea8bb477e9d29b8d6bd82e","src/util/traits.rs":"d8f10a673e63738254b0403929e384538182b81098b4b2819081c5d28fb63fbb","src/util/wrapped.rs":"e030e29ee4413bfa9b976dfd7e04143389294950fb60826c78c54d07790d9619"},"package":"f86d66d380c9c5a685aaac7a11818bdfa1f733198dfd9ec09c70b762cd12ad6f"} +\ No newline at end of file ++{"files":{"CHANGELOG":"36ac8dc0bc46ac1c9fc0bdd1f2cbcbfa8d43684f22aac97d33132e33b2cc3081","Cargo.toml":"fd799e21273a9c2181bd45a562d8226a9835d9611f66db71cbeb6fe93b60db0b","LICENSE-APACHE":"8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"c99e5c41324109869738a8bd5cfb41b12c0254abef471b3de9790c91807009d0","build.rs":"8dbe6619d4be32c7f81cdc849a5d40067c03913136b6b536cfc616d398efce79","src/atof/algorithm/alias.rs":"19143a97dc6a2bdd8b212b43d8cea79dc3f8ec776f7cc27d6dc20621ae70b7bd","src/atof/algorithm/bignum.rs":"5809ac8acb417047e43ea4d4c6126b66799576cb26fdea400ce9b5fb28852044","src/atof/algorithm/cached.rs":"6c81da44969500f039ef06da804a84fc9d1f79c5a4081c50952d9ceb12d70bbe","src/atof/algorithm/cached_float160.rs":"e0e7ab1fafe4b3793bdbd8710f3d2c5417a4c70c263b9f1399f4dc09991a6f3a","src/atof/algorithm/cached_float80.rs":"f9dc141c121d33dd54b2867d41e063694ca2a8bd73d3a91a4cb9499293cf7d8c","src/atof/algorithm/correct.rs":"c1a9eeec5bc514a704812f7dd06ccdc9264ed0c8e8bbfc043a546deeffd55567","src/atof/algorithm/errors.rs":"d422d28471a70f0035e226d474168ba5f28852d113b52b9617b98f6aa53c7937","src/atof/algorithm/format/exponent.rs":"77fc9ad541617d52295bd7892c455788382d27c37ac807a1bb43b3601c2e50a8","src/atof/algorithm/format/generic.rs":"aab554937a5e92c1ae88d47a8a8a1b7234e3879d38d9bdf097355f871499ea3c","src/atof/algorithm/format/ignore.rs":"0ea14e66f65129ec1898614c7900b7a4c32916343b5d08d0da48e891935b957e","src/atof/algorithm/format/interface.rs":"baa1120664d88ae9551b8ffd892c712e0da8757815d53db0b51f5dd974d30d97","src/atof/algorithm/format/mod.rs":"a7c377b51d702ccdd4bf205c7bfaab0c5c250b583fd0bec5dddf0728fbe7a398","src/atof/algorithm/format/permissive.rs":"bb708d2bd5ac1519ec27e53e58ffb0c4d7c1299a23b336aa5c4941485183a72b","src/atof/algorithm/format/standard.rs":"7e2d3f92c99eaf8bc54add5306b5b5d42b89d1e170b087a52da1f6793143f250","src/atof/algorithm/format/traits.rs":"1b3ad92f70bcc87f3cb23243c13df5f6a7963d236e361f9657e61b72c35208ce","src/atof/algorithm/format/trim.rs":"54003724a6b5b3e3c74df2a2913a1540031069dc7a52357fba5232d0f8f64677","src/atof/algorithm/format/validate.rs":"e019bd24989194abf956b227fcd53c407aba873eaf3f3bed00a236f41ddbbba0","src/atof/algorithm/incorrect.rs":"51f237f9a72a35d1cce1831e68dfaa42b09fa52ca95401fbbc61f49b3734156c","src/atof/algorithm/large_powers.rs":"b778f15dc831be4e132448dbe04e19a6946926773bb9dea89fe8426ef8e10282","src/atof/algorithm/large_powers_32.rs":"f1c191113cf80d922adbfcf7811450508aff06074b456eada8ece00106c95486","src/atof/algorithm/large_powers_64.rs":"644b40cd84f81964c241085720b631cfd41a026f95aee27328d6ef12069673ab","src/atof/algorithm/mod.rs":"8f50d4328bd444c1d23579bd8dd7b3936c046322893af5e6fb11389219994a40","src/atof/algorithm/small_powers.rs":"37e0ad6aa7e0576c824b00090c2561e8b5fddfd2ab23c7a4e913d88c780d25eb","src/atof/algorithm/small_powers_32.rs":"5b974d3ea5ee4a5c459b32206bb1a6949b4831af299d7ea0122a6142b8c7f153","src/atof/algorithm/small_powers_64.rs":"16f260763b9e6a7b6365f9ae120305b43a4e2676ba7b62fff5a44e868d2637d0","src/atof/api.rs":"f8477127f117b7acf6b82e2a07a629c3003a846ffb28658b9347aa5a8cfc275d","src/atof/mod.rs":"4ea3fb2ecc03484da240ab78960d20577e095605a81364c4edc1a975f4337aae","src/atoi/api.rs":"42c7d00838b74db9ae993b0977ac354e724e2e800433252e1bec705102a96fbe","src/atoi/exponent.rs":"9477ce345fe9ea3365b388f7a3b3693ee80fe15c4f714ccef943143757b77832","src/atoi/generic.rs":"dcabc6609862e64618c452d03b9c58c4d2a76158a5f2eecae016689d8ac3913a","src/atoi/mantissa.rs":"713a9c9cf8e5d92499af4a3ca97a3b0aa841135b392b291583f5030d63873084","src/atoi/mod.rs":"68c2c460b56398c495e42024243c4f114c47f2c96273c1ce8274edc7a8ac3fda","src/atoi/shared.rs":"290eed81a5523b6563abc85414ff7627106eaa3e822e3ecab85c8171a514bc6b","src/float/convert.rs":"a509409ee547a7258b2b4dea5f1bcfa331f7185bef8187d89d95faf319a8f010","src/float/float.rs":"a093ed7ff1dd8879b3705e9bceec2d026f3cd1506a29ec6fcd9ad4f903baed77","src/float/mantissa.rs":"22fe797e3763d7e0d801ad1be4c4017569134096bfe10569d717411dc7bf3a91","src/float/mod.rs":"8a769a10c564cd55b380685b8fb1318e2a4f41a2f42befcbef0defe0e726cd65","src/float/rounding.rs":"90edcdd5aa3b59b9a86995324f32f80d45d6f7dacc911b47f8bbb415426e8d1a","src/float/shift.rs":"8f0c62e3fa5645bee43bb7c9dd3cca20d9b0251f543d3be50b82a41dada28d0e","src/ftoa/api.rs":"4851db7ed9b15ad66643bd9728160211d2996443fa2662dfd548a045d9ea3ea7","src/ftoa/grisu2.rs":"2cf9c3274835a852142895abcf518caa70c7f5333cc3149069eebcfaebed2600","src/ftoa/grisu3.rs":"451489ee3708cb1cf02c6f7a4c3fca2316fd503f692492675f3b7e89f1d2908c","src/ftoa/mod.rs":"9609a66efc47f8ca474a3f993ebb98117cd91c1c1dc27ba5b23440d6b3f1471b","src/ftoa/radix.rs":"90e903a7d66ec8d59a53c432a70fbbedc1869d35b9e07222e0fdba93508fe661","src/ftoa/ryu.rs":"34f914a8cf40bd90c900cdd284ff01f9738ec1da4205f3b60f3fb238ff15103f","src/itoa/api.rs":"30ad0a420f22d67814af7c44199bbff4f48dfac96285570a388a5c5ea87577bd","src/itoa/decimal.rs":"e87c32c48ba788e8814999d23cb532dc057b7025057365bccf606638fa707298","src/itoa/generic.rs":"86ba11b32d981bcfc4037c29b345868530ca73dac3446cc5be4fd59ff876c2ea","src/itoa/mod.rs":"9b7e96338a0003a9d3176b91387c7cc0590c3c4c799b2bc1478e553515bbc9bd","src/itoa/naive.rs":"d27437d8b4669c7a2fa8f3f8869bd6aab5f18a0d618fbf1f3bcbc5f1ae90e4a0","src/lib.rs":"c10c744d9ab0b6bb434e8316d0de318a0bdb4bca47ff1627c7c08379b7b6d9e3","src/util/algorithm.rs":"2a448aac0b0d6c6c21ba356e9704a6673eddf11415038206eed48c1968cedf21","src/util/assert.rs":"668ff920c1724105055f565948c1674f858e74634432ab8d4514b8bf2ed688f1","src/util/bound.rs":"469c49e6a883edf9c0ae012813ceac50c9fc97462aea049f390cf07268071e2d","src/util/cast.rs":"bbd1a2b4f2b7eb3b93a6f462a792b09846d6b1e25232d34371befe0978179558","src/util/config.rs":"5b2c91da5108e7119cc7ea7438ba23f2fce29fb68efe5a06ca3f8609c5855736","src/util/consume.rs":"df25df0020d8a322a894e85bc8a202385e57b93242b9e285e5892b0091b42c50","src/util/div128.rs":"fb6943a8adbfa565075980246bb2a75784dc78f83bb40ff9e178cd066e82f7b0","src/util/error.rs":"19d523338ff6ea82312988dcc8f7bed4c3a96985df071553b3bd5ed228625c1b","src/util/format.rs":"9613c6e34e599928a7825d4917d55e373a3df4230789b2e23d6f91e5e68bbd4b","src/util/index.rs":"eadc46ee24b008f766f9f70d44e3e9b475c38154351cae3eefd49c0218f66400","src/util/iterator.rs":"2d4b6f3e628e9ce91687adb90c6ee8ffd52b5e3bead649ee4a8ef497f34aa8f6","src/util/mask.rs":"299b00fc1ce149c7f8763602345d21cab9d91207ef6519ea1d175248f63f05e0","src/util/mod.rs":"408853a93ee8073b297c94e120297f23739d732076a2aeaefa361e5d7763523a","src/util/num.rs":"82def6e5fee09a69eb7690838702602790b4804268f431a75047d476ee77a80b","src/util/perftools.rs":"3dde4045fe630543474e1b70c7eecf73efb7a8c474bfee7f1b2ef619fafe265e","src/util/pointer_methods.rs":"a083b854936b21e8f54f3510952945979fae47993322500e597cc2e4769ecd79","src/util/pow.rs":"7b15310b98fa562329232e8bd963aef5ebf521e54e249cfc7005d7eacfb1598a","src/util/primitive.rs":"102337c82de940d7b492e63af222eaa7cf477468a344672366784e9553dab801","src/util/range_bounds.rs":"2d069fa04ff31715a02c5e067aa0b390b4692ba245617cc8e4fb58abdb09b0fc","src/util/result.rs":"cc3c8d7a81b2bd4d3d83d27525df9e2954d149ee1ddf543d51b405371493cc9e","src/util/rounding.rs":"be2e3d282ffcb176ee6530d42a67bc57474b3fc9e16de6989ffa43d5997d4670","src/util/sequence.rs":"d3030dac73c74abf420683962513499c448abab2b68c5fb8b0e785cf9f6be0db","src/util/sign.rs":"528ce4d64de019a454cb70bdf104a02712999587a2bc87ff96bda703e3f69cb9","src/util/skip_value.rs":"6e1f5158bfc64cab16ef711e51c79e3c6c8912e19d4b88586779fab9bc9de97f","src/util/slice_index.rs":"4f9e340c0a351f6ca81cea962a18ea8431aeb0fb4c5e959cb940f991f66789b5","src/util/table.rs":"5209ac4585b9dece2efac6d1b50237aaa0fda00c537783e543e1332bf9b1247a","src/util/test.rs":"7726ea1ff853961fe06a4ec382a9870f6b7e5701d4ea8bb477e9d29b8d6bd82e","src/util/traits.rs":"d8f10a673e63738254b0403929e384538182b81098b4b2819081c5d28fb63fbb","src/util/wrapped.rs":"e030e29ee4413bfa9b976dfd7e04143389294950fb60826c78c54d07790d9619"},"package":"f86d66d380c9c5a685aaac7a11818bdfa1f733198dfd9ec09c70b762cd12ad6f"} Index: patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bhcomp_rs =================================================================== RCS file: patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bhcomp_rs diff -N patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bhcomp_rs --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bhcomp_rs 19 Jun 2021 08:16:48 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ +Backport of https://github.com/Alexhuszagh/rust-lexical/pull/56 for rustc 1.53.0 + +Index: rust/vendor/lexical-core/src/atof/algorithm/bhcomp.rs +--- rust/vendor/lexical-core/src/atof/algorithm/bhcomp.rs.orig ++++ rust/vendor/lexical-core/src/atof/algorithm/bhcomp.rs +@@ -59,7 +59,7 @@ pub(super) fn parse_mantissa<'a, Data>(data: Data, rad + let small_powers = Bigint::small_powers(radix); + let count = data.mantissa_digits(); + let bits = count / integral_binary_factor(radix).as_usize(); +- let bytes = bits / Limb::BITS; ++ let bytes = bits / <Limb as Integer>::BITS; + + // Main loop + let step = small_powers.len() - 2; Index: patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bigcomp_rs =================================================================== RCS file: patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bigcomp_rs diff -N patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bigcomp_rs --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-rust_vendor_lexical-core_src_atof_algorithm_bigcomp_rs 19 Jun 2021 08:16:48 -0000 @@ -0,0 +1,24 @@ +$OpenBSD$ +Backport of https://github.com/Alexhuszagh/rust-lexical/pull/56 for rustc 1.53.0 + +Index: rust/vendor/lexical-core/src/atof/algorithm/bigcomp.rs +--- rust/vendor/lexical-core/src/atof/algorithm/bigcomp.rs.orig ++++ rust/vendor/lexical-core/src/atof/algorithm/bigcomp.rs +@@ -154,7 +154,7 @@ pub(super) fn make_ratio<F: Float>(radix: u32, sci_exp + // Scale the denominator so it has the number of bits + // in the radix as the number of leading zeros. + let wlz = integral_binary_factor(radix).as_usize(); +- let nlz = den.leading_zeros().wrapping_sub(wlz) & (u32::BITS - 1); ++ let nlz = den.leading_zeros().wrapping_sub(wlz) & (<u32 as Integer>::BITS - 1); + small::ishl_bits(den.data_mut(), nlz); + den.exp -= nlz.as_i32(); + +@@ -172,7 +172,7 @@ pub(super) fn make_ratio<F: Float>(radix: u32, sci_exp + // denominator will be normalized. + // We need to add one to the quotient,since we're calculating the + // ceiling of the divmod. +- let (q, r) = shift.ceil_divmod(Limb::BITS); ++ let (q, r) = shift.ceil_divmod(<Limb as Integer>::BITS); + // Since we're using a power from the denominator to the + // numerator, we to invert r, not add u32::BITS. + let r = -r; Index: patches/patch-rust_vendor_lexical-core_src_atof_algorithm_math_rs =================================================================== RCS file: patches/patch-rust_vendor_lexical-core_src_atof_algorithm_math_rs diff -N patches/patch-rust_vendor_lexical-core_src_atof_algorithm_math_rs --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-rust_vendor_lexical-core_src_atof_algorithm_math_rs 19 Jun 2021 08:16:48 -0000 @@ -0,0 +1,181 @@ +$OpenBSD$ +Backport of https://github.com/Alexhuszagh/rust-lexical/pull/56 for rustc 1.53.0 + +Index: rust/vendor/lexical-core/src/atof/algorithm/math.rs +--- rust/vendor/lexical-core/src/atof/algorithm/math.rs.orig ++++ rust/vendor/lexical-core/src/atof/algorithm/math.rs +@@ -956,7 +956,7 @@ pub fn mul(x: Limb, y: Limb, carry: Limb) + // the following is always true: + // `Wide::max_value() - (Narrow::max_value() * Narrow::max_value()) >= Narrow::max_value()` + let z: Wide = as_wide(x) * as_wide(y) + as_wide(carry); +- (as_limb(z), as_limb(z >> Limb::BITS)) ++ (as_limb(z), as_limb(z >> <Limb as Integer>::BITS)) + }} + + /// Multiply two small integers (with carry) (and return if overflow happens). +@@ -979,7 +979,7 @@ pub fn div(x: Limb, y: Limb, rem: Limb) + -> (Limb, Limb) + { + // Cannot overflow, as long as wide is 2x as wide. +- let x = as_wide(x) | (as_wide(rem) << Limb::BITS); ++ let x = as_wide(x) | (as_wide(rem) << <Limb as Integer>::BITS); + let y = as_wide(y); + (as_limb(x / y), as_limb(x % y)) + }} +@@ -1046,7 +1046,7 @@ perftools_inline!{ + pub fn trailing_zeros(x: &[Limb]) -> usize { + // Get the index of the last non-zero value + let index = trailing_zero_limbs(x); +- let mut count = index.saturating_mul(Limb::BITS); ++ let mut count = index.saturating_mul(<Limb as Integer>::BITS); + if let Some(value) = x.get(index) { + count = count.saturating_add(value.trailing_zeros().as_usize()); + } +@@ -1061,7 +1061,7 @@ pub fn bit_length(x: &[Limb]) -> usize { + // Avoid overflowing, calculate via total number of bits + // minus leading zero bits. + let nlz = leading_zeros(x); +- Limb::BITS.checked_mul(x.len()) ++ <Limb as Integer>::BITS.checked_mul(x.len()) + .map(|v| v - nlz) + .unwrap_or(usize::max_value()) + }} +@@ -1087,7 +1087,7 @@ pub fn ishr_bits<T>(x: &mut T, n: usize) + where T: CloneableVecLike<Limb> + { + // Need to shift by the number of `bits % Limb::BITS`. +- let bits = Limb::BITS; ++ let bits = <Limb as Integer>::BITS; + debug_assert!(n < bits && n != 0); + + // Internally, for each item, we shift left by n, and add the previous +@@ -1134,7 +1134,7 @@ pub fn ishr<T>(x: &mut T, n: usize) + -> bool + where T: CloneableVecLike<Limb> + { +- let bits = Limb::BITS; ++ let bits = <Limb as Integer>::BITS; + // Need to pad with zeros for the number of `bits / Limb::BITS`, + // and shift-left with carry for `bits % Limb::BITS`. + let rem = n % bits; +@@ -1193,7 +1193,7 @@ pub fn ishl_bits<T>(x: &mut T, n: usize) + where T: CloneableVecLike<Limb> + { + // Need to shift by the number of `bits % Limb::BITS)`. +- let bits = Limb::BITS; ++ let bits = <Limb as Integer>::BITS; + debug_assert!(n < bits); + if n.is_zero() { + return; +@@ -1253,7 +1253,7 @@ perftools_inline!{ + pub fn ishl<T>(x: &mut T, n: usize) + where T: CloneableVecLike<Limb> + { +- let bits = Limb::BITS; ++ let bits = <Limb as Integer>::BITS; + // Need to pad with zeros for the number of `bits / Limb::BITS`, + // and shift-left with carry for `bits % Limb::BITS`. + let rem = n % bits; +@@ -1912,7 +1912,7 @@ pub fn mul<T>(x: &[Limb], y: &[Limb]) + // DIVISION + + /// Constants for algorithm D. +-const ALGORITHM_D_B: Wide = 1 << Limb::BITS; ++const ALGORITHM_D_B: Wide = 1 << <Limb as Integer>::BITS; + const ALGORITHM_D_M: Wide = ALGORITHM_D_B - 1; + + /// Calculate qhat (an estimate for the quotient). +@@ -1932,7 +1932,7 @@ fn calculate_qhat(x: &[Limb], y: &[Limb], j: usize) + // rhat = (x[j+n]*B + x[j+n-1]) - qhat*y[n-1]; + let x_jn = as_wide(x[j+n]); + let x_jn1 = as_wide(x[j+n-1]); +- let num = (x_jn << Limb::BITS) + x_jn1; ++ let num = (x_jn << <Limb as Integer>::BITS) + x_jn1; + let den = as_wide(y[n-1]); + let mut qhat = num / den; + let mut rhat = num - qhat * den; +@@ -1949,7 +1949,7 @@ fn calculate_qhat(x: &[Limb], y: &[Limb], j: usize) + let y_n2 = as_wide(y[n-2]); + let y_n1 = as_wide(y[n-1]); + // This only happens when the leading bit of qhat is set. +- while qhat >= ALGORITHM_D_B || qhat * y_n2 > (rhat << Limb::BITS) + x_jn2 { ++ while qhat >= ALGORITHM_D_B || qhat * y_n2 > (rhat << <Limb as Integer>::BITS) + x_jn2 { + qhat -= 1; + rhat += y_n1; + if rhat >= ALGORITHM_D_B { +@@ -1989,7 +1989,7 @@ fn multiply_and_subtract<T>(x: &mut T, y: &T, qhat: Wi + let p = qhat * y_i; + t = x_ij.wrapping_sub(k).wrapping_sub(as_signed_wide(p & ALGORITHM_D_M)); + x[i+j] = as_limb(t); +- k = as_signed_wide(p >> Limb::BITS) - (t >> Limb::BITS); ++ k = as_signed_wide(p >> <Limb as Integer>::BITS) - (t >> <Limb as Integer>::BITS); + } + t = as_signed_wide(x[j+n]) - k; + x[j+n] = as_limb(t); +@@ -2045,7 +2045,7 @@ fn add_back<T>(x: &mut T, y: &T, mut t: SignedWide, j: + for i in 0..n { + t = as_signed_wide(as_wide(x[i+j]) + as_wide(y[i])) + k; + x[i+j] = as_limb(t); +- k = t >> Limb::BITS; ++ k = t >> <Limb as Integer>::BITS; + } + let x_jn = as_signed_wide(x[j+n]) + k; + x[j+n] = as_limb(x_jn); +@@ -2068,7 +2068,7 @@ fn calculate_remainder<T>(x: &[Limb], y: &[Limb], s: u + let n = y.len(); + let mut r = T::default(); + r.reserve_exact(n); +- let rs = Limb::BITS - s; ++ let rs = <Limb as Integer>::BITS - s; + for i in 0..n-1 { + let xi = as_wide(x[i]) >> s; + let xi1 = as_wide(x[i+1]) << rs; +@@ -2205,9 +2205,9 @@ pub fn quorem<T>(x: &mut T, y: &T) + let mut carry: Wide = 0; + for j in 0..m { + let p = as_wide(y[j]) * as_wide(q) + carry; +- carry = p >> Limb::BITS; ++ carry = p >> <Limb as Integer>::BITS; + let t = as_wide(x[j]).wrapping_sub(p & mask).wrapping_sub(borrow); +- borrow = (t >> Limb::BITS) & 1; ++ borrow = (t >> <Limb as Integer>::BITS) & 1; + x[j] = as_limb(t); + } + small::normalize(x); +@@ -2220,9 +2220,9 @@ pub fn quorem<T>(x: &mut T, y: &T) + let mut carry: Wide = 0; + for j in 0..m { + let p = as_wide(y[j]) + carry; +- carry = p >> Limb::BITS; ++ carry = p >> <Limb as Integer>::BITS; + let t = as_wide(x[j]).wrapping_sub(p & mask).wrapping_sub(borrow); +- borrow = (t >> Limb::BITS) & 1; ++ borrow = (t >> <Limb as Integer>::BITS) & 1; + x[j] = as_limb(t); + } + small::normalize(x); +@@ -3137,18 +3137,18 @@ mod tests { + fn leading_zeros_test() { + assert_eq!(Bigint::new().leading_zeros(), 0); + +- assert_eq!(Bigint::from_u16(0xFF).leading_zeros(), Limb::BITS-8); +- assert_eq!(Bigint::from_u32(0xFF).leading_zeros(), Limb::BITS-8); ++ assert_eq!(Bigint::from_u16(0xFF).leading_zeros(), <Limb as Integer>::BITS-8); ++ assert_eq!(Bigint::from_u32(0xFF).leading_zeros(), <Limb as Integer>::BITS-8); + assert_eq!(Bigint::from_u64(0xFF00000000).leading_zeros(), 24); + assert_eq!(Bigint::from_u128(0xFF000000000000000000000000).leading_zeros(), 24); + +- assert_eq!(Bigint::from_u16(0xF).leading_zeros(), Limb::BITS-4); +- assert_eq!(Bigint::from_u32(0xF).leading_zeros(), Limb::BITS-4); ++ assert_eq!(Bigint::from_u16(0xF).leading_zeros(), <Limb as Integer>::BITS-4); ++ assert_eq!(Bigint::from_u32(0xF).leading_zeros(), <Limb as Integer>::BITS-4); + assert_eq!(Bigint::from_u64(0xF00000000).leading_zeros(), 28); + assert_eq!(Bigint::from_u128(0xF000000000000000000000000).leading_zeros(), 28); + +- assert_eq!(Bigint::from_u16(0xF0).leading_zeros(), Limb::BITS-8); +- assert_eq!(Bigint::from_u32(0xF0).leading_zeros(), Limb::BITS-8); ++ assert_eq!(Bigint::from_u16(0xF0).leading_zeros(), <Limb as Integer>::BITS-8); ++ assert_eq!(Bigint::from_u32(0xF0).leading_zeros(), <Limb as Integer>::BITS-8); + assert_eq!(Bigint::from_u64(0xF000000000).leading_zeros(), 24); + assert_eq!(Bigint::from_u128(0xF0000000000000000000000000).leading_zeros(), 24); + }