Update ryu to 1.0.19

Test: m rust
Change-Id: I3cca82c420f025035ceb4b36953fea55e0a52622
diff --git a/crates/ryu/.android-checksum.json b/crates/ryu/.android-checksum.json
index c54f685..ae29abc 100644
--- a/crates/ryu/.android-checksum.json
+++ b/crates/ryu/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"4c7243ce6b49c2f1a24316b02d52774b51ec7bd437edb56e0e3cbee1ad270925","Android.bp":"65363e8f672896ea8d34d2d5a62b1c1d8fa076baf08d064f9932d25055fca38e","Cargo.lock":"8f6e075661c9a911830923785a9359e093402ff8f61315ba5bf99efaca3bc8b3","Cargo.toml":"916942e5f68779f92a03a3bd48bbdb9fe88df58c066d4d1ee5f0da55ec492baf","LICENSE":"010a014e87d5287d38fd2bb19a1fc01faf03f5c05b0a47c21be94b0ea0497ef8","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-BOOST":"a83f91f3bc906bf412251dedeafc8ce7e8c1c1cc8f7ac68e9927e76ca7e2798f","METADATA":"2ae19c0eb3bf7de2ac11d2c51487c7dee81d1527f811483615e391c0cdebd44a","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"9c24002ba6587573bb44f26a6dc6145b7877bd247a8b79b501e56166996bb80f","TEST_MAPPING":"4fface3aeaacc26ee715eda88e2eca1eaec62895765aaa58c3a6c1726bfd4380","benches/bench.rs":"c5a2bdbc71d5e294a3db795473fed081f400fd40278227cfc0d8d4d5648cacd8","cargo_embargo.json":"40f98d98a6f4614cc2e26c1f364f1c3294773969ba80561c7030c2a156428ffe","examples/upstream_benchmark.rs":"efb945cf51390e7902de202d327ddbe8d698b5fae40507654f39fcc13151c072","patches/LICENSE.patch":"3a10599892df6f584a1e7a72c48be84aad079885df76285fbc9d35c35501bd7d","src/buffer/mod.rs":"b7ff2706da10b71593beff85167ba8809bb1586ac0332c46a27e883df41ceeee","src/common.rs":"7a0c32d6dd802a9cae7a4abafcd4f51063ea8428b17d9afe420d1735f948ad9c","src/d2s.rs":"6419e3d8a5c9229f76168a512ad80fd038c895f2f19158fe54bf0326629b01fc","src/d2s_full_table.rs":"08fab3b397ef4bdb7ec26008442c991d97c851a49627c27e23fc78526d8adcb7","src/d2s_intrinsics.rs":"fc5c642613a1dc1d67bfbb758ab1c4237d773f489cda9e030f6c3fd86aac0fb4","src/d2s_small_table.rs":"aa078e3eb2e6061e84d7a040f3e1c60d8d4237d7f2fb8031c3df5fd3f0d1d264","src/digit_table.rs":"2446328eb610585bf0bf27faed35d38b1848bb5127a099acd42ac36c49c991fa","src/f2s.rs":"9a356596ce373ddd9e44932e15b60797201236876d29fd3ca1ce863d28cef29d","src/f2s_intrinsics.rs":"42caed3b9534bcba9610c5e142603229c78e62de4fee1349a415b237069e5e26","src/lib.rs":"7c526ec70cf7e5264ec69e5225b5d817739503c6770f3e96575c95993b81eed7","src/parse.rs":"dadd9d98ccf871a7d2a90c0537b7495220ea02feec7f1e2556f2b691219e5bfd","src/pretty/exponent.rs":"d6f1b5b33f35b052f1d0a7d94a5c56a3b6a210ca708e7e1e1e0533290e7ac9b4","src/pretty/mantissa.rs":"d5827a8862ea2115f887b54fead4576da613e1953e750338fd541ab2d0b24ea8","src/pretty/mod.rs":"fc3f58b918b2a0493b19269fdff1e9048e3eba868552d77605c4ce4494f85138","src/s2d.rs":"be1076f40ef68e825033b997112034751beff4c63794db019b9d93cdd6505660","src/s2f.rs":"49d9680282fca631de391d273eddfa6e392eb101236d6f88e636eb598ee580f1","tests/common_test.rs":"64c3c55da06031d76b1c2db9e3df2cc1bf5454966c86f68552c8de33612e6798","tests/d2s_intrinsics_test.rs":"a45e55152e97bf3897d9c586e000304df5900bf9ef6bcf2ee8072cd914a9e548","tests/d2s_table_test.rs":"41552541a6ca8f67f9d819d85b2214e54774d49aac244695b0193545191fc917","tests/d2s_test.rs":"7c05052312c8a8855ccde45ac20db48c72ee6fe8cab968f0f744808f45cbb86c","tests/exhaustive.rs":"944ca0b590467ab8a34354daa3ad0c71b23091dff34e1612448a1c17cf87c412","tests/f2s_test.rs":"736e0104cb6b2a994482d3951c129f79939613f6cb46d0dc2059b9790bacbc00","tests/macros/mod.rs":"3b4944363bbb0127d63d253e6017fc89772e02a99a6c68f35868c14bd4c45369","tests/s2d_test.rs":"aaf39deb09e8fff74d22737d3fc1afdf7c76b1af5b26cfacabe726fcd67caa18","tests/s2f_test.rs":"48ee209ec1d9370da8d0cee7428829b70d8c68c8aa1f6a3ffbd5eec8957f52e0"}}
\ No newline at end of file
+{"package":null,"files":{".cargo-checksum.json":"ee4adba1a66dc2d7c35a90332f2751a387613c495e3069ef09f9e9c96591512b","Android.bp":"98408e27e1193f067e44f6af77dc6549d392beeffe0f631ff72be360292850f8","Cargo.lock":"310fddc885eba75ebca144bb105e282491d63efed0583fd90a18a27fb6718564","Cargo.toml":"905c65a42f6dd1871b6ba83cb2afc40774c9518f3ddf6b76a2fecb627777b59c","LICENSE":"010a014e87d5287d38fd2bb19a1fc01faf03f5c05b0a47c21be94b0ea0497ef8","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-BOOST":"a83f91f3bc906bf412251dedeafc8ce7e8c1c1cc8f7ac68e9927e76ca7e2798f","METADATA":"b59d29a71a85a1d92d1e8682af55890bb421cfcca0d47ba7ab29f0b929274068","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"9c24002ba6587573bb44f26a6dc6145b7877bd247a8b79b501e56166996bb80f","TEST_MAPPING":"14b42873ad9cb24fa54a08d90b0847cf7281e7fae58bb015606e40d82e5edbdc","benches/bench.rs":"c5a2bdbc71d5e294a3db795473fed081f400fd40278227cfc0d8d4d5648cacd8","cargo_embargo.json":"40f98d98a6f4614cc2e26c1f364f1c3294773969ba80561c7030c2a156428ffe","examples/upstream_benchmark.rs":"989d88bf798c373480a20c0123a7e1b288e6c85bc15bcfd787bc18a416fa29de","patches/LICENSE.patch":"3a10599892df6f584a1e7a72c48be84aad079885df76285fbc9d35c35501bd7d","src/buffer/mod.rs":"b7ff2706da10b71593beff85167ba8809bb1586ac0332c46a27e883df41ceeee","src/common.rs":"7a0c32d6dd802a9cae7a4abafcd4f51063ea8428b17d9afe420d1735f948ad9c","src/d2s.rs":"6419e3d8a5c9229f76168a512ad80fd038c895f2f19158fe54bf0326629b01fc","src/d2s_full_table.rs":"08fab3b397ef4bdb7ec26008442c991d97c851a49627c27e23fc78526d8adcb7","src/d2s_intrinsics.rs":"fc5c642613a1dc1d67bfbb758ab1c4237d773f489cda9e030f6c3fd86aac0fb4","src/d2s_small_table.rs":"aa078e3eb2e6061e84d7a040f3e1c60d8d4237d7f2fb8031c3df5fd3f0d1d264","src/digit_table.rs":"2446328eb610585bf0bf27faed35d38b1848bb5127a099acd42ac36c49c991fa","src/f2s.rs":"9a356596ce373ddd9e44932e15b60797201236876d29fd3ca1ce863d28cef29d","src/f2s_intrinsics.rs":"42caed3b9534bcba9610c5e142603229c78e62de4fee1349a415b237069e5e26","src/lib.rs":"f041d462fd2ea1af48aaf5468fe7f6a9627663f104e5917747c4c83a423dddf6","src/parse.rs":"dadd9d98ccf871a7d2a90c0537b7495220ea02feec7f1e2556f2b691219e5bfd","src/pretty/exponent.rs":"d6f1b5b33f35b052f1d0a7d94a5c56a3b6a210ca708e7e1e1e0533290e7ac9b4","src/pretty/mantissa.rs":"d5827a8862ea2115f887b54fead4576da613e1953e750338fd541ab2d0b24ea8","src/pretty/mod.rs":"fc3f58b918b2a0493b19269fdff1e9048e3eba868552d77605c4ce4494f85138","src/s2d.rs":"be1076f40ef68e825033b997112034751beff4c63794db019b9d93cdd6505660","src/s2f.rs":"49d9680282fca631de391d273eddfa6e392eb101236d6f88e636eb598ee580f1","tests/common_test.rs":"64c3c55da06031d76b1c2db9e3df2cc1bf5454966c86f68552c8de33612e6798","tests/d2s_intrinsics_test.rs":"a45e55152e97bf3897d9c586e000304df5900bf9ef6bcf2ee8072cd914a9e548","tests/d2s_table_test.rs":"41552541a6ca8f67f9d819d85b2214e54774d49aac244695b0193545191fc917","tests/d2s_test.rs":"d4c428e55711f530f956e35946105a432e11e345b4c800247127eeb689ad5f1a","tests/exhaustive.rs":"56049f4d7335a77379f8faf2a6d0ca37fbfecc62315a36b1f0c54ba995197dac","tests/f2s_test.rs":"4ceb576ab30da4a399795552c275f919f2f7255517872eaaed452c8f7958c993","tests/macros/mod.rs":"3b4944363bbb0127d63d253e6017fc89772e02a99a6c68f35868c14bd4c45369","tests/s2d_test.rs":"aaf39deb09e8fff74d22737d3fc1afdf7c76b1af5b26cfacabe726fcd67caa18","tests/s2f_test.rs":"48ee209ec1d9370da8d0cee7428829b70d8c68c8aa1f6a3ffbd5eec8957f52e0"}}
\ No newline at end of file
diff --git a/crates/ryu/.cargo-checksum.json b/crates/ryu/.cargo-checksum.json
index da5e42e..a00fde6 100644
--- a/crates/ryu/.cargo-checksum.json
+++ b/crates/ryu/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.lock":"2154f7e5f06489f3b42120f2165661fd552aa03b3d1f4f0cfeb380acad362b22","Cargo.toml":"708b4546804f6c500c45fd048921400f4328fe8f7159e0491faa4a64e38a2b0f","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-BOOST":"c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566","README.md":"86f0a92cf076f4983f99926607ea272c9650a5996fa3921fc5ca5abceb0f18db","benches/bench.rs":"703521c8cb9c6959ee305776a9971d24754b6fff5c1737741be04f956a3692e8","examples/upstream_benchmark.rs":"f702d3598a8fac59134a8058ebf74ba90163b1f23ebbd6c5978a7bd8a888d357","src/buffer/mod.rs":"e32f3fa7e994ff704796e58e115c5258e94a79a184d1608864772f2f2f5274fc","src/common.rs":"cae347e97fc30c50a964f80425e8c3e69ece2b8ab81f9b81b9baa7fcec64a001","src/d2s.rs":"f2612785ebe510c935b979dc5f66f6b8c818ca8a4cf0364ce1fe1d41fea39592","src/d2s_full_table.rs":"9b0186acbc6d65dc55c17e16125be707a2bfb920d22b35d33234b4cc38566a36","src/d2s_intrinsics.rs":"bbf15472f4299942312e80a992cbc2f47f85f17ed193f24084534434dbfb26e7","src/d2s_small_table.rs":"db3bbe4002d816785b0ee233c330f19fa7002f31dab47dc6f67b266996fe3ae4","src/digit_table.rs":"02351ca54cb8cb3679f635115dd094f32fd91750e9f66103c1ee9ec3db507072","src/f2s.rs":"cb96f61d8c6c6c941803a7b629f2bf835e1a20ad9d3e5d3454a30ed3391c3515","src/f2s_intrinsics.rs":"97bab98093838e30c60f5135f54f5ccb039ff7d9f35553ac8e74437743ca47e2","src/lib.rs":"8020040eaf88b50ffe542691d4c5a63e9f07e8ae6893ab433ef86762655dc941","src/parse.rs":"7f8aa7e007caf5dcb03abdc4238157724bb742d0823a3b8a01646fa1f1129154","src/pretty/exponent.rs":"fa914ec63b3f86cbdaf7933d7c44e1bc1f93c1239a29a5f86934680a7e957570","src/pretty/mantissa.rs":"40cb00efe1c3fab559ab58389bd519d556548aa18fb261a90dd48138911d039b","src/pretty/mod.rs":"eb0a8c78019f55a1767943821340e8b1278455e0d88bb4f63f4bd3dde340e387","src/s2d.rs":"c804518a771654e3786bde2b776c56e94e198ce6d3fe1e4e5e2f2a9cb9e607e3","src/s2f.rs":"11d528931ce1a01a93f39efb3fe99fdc3041b41fefafb2efd6a338d2a12b628c","tests/common_test.rs":"599781a637d9b9756858aabfe5c38a0734a550debd3d94774f33792b7b3c8240","tests/d2s_intrinsics_test.rs":"15d11b70810bf04f33f8b185bf7f010a436a4edb47fa4648b1a036568c2c5d15","tests/d2s_table_test.rs":"819c39cc94e3462138d3be337d06e7334de126642d34bf1394e03d2df9c0c90c","tests/d2s_test.rs":"d72aaf37c76a4042ecc12b7d6faf844696016bb72bb20d142ecab3bd6c87e29f","tests/exhaustive.rs":"f475ed9008a2cd86ce95abb577a4b01e9fed23fc16f7e217ccffb3b834005fa0","tests/f2s_test.rs":"ad9e6fe46e712c488b876428c144c79bdff0349b41c57eee5506fc3c9c156624","tests/macros/mod.rs":"8e90a674b3960f9516cb38f4eea0e0981ff902c3b33572ebdb6c5528d3ffa72c","tests/s2d_test.rs":"75c3a1044881718db65e05f25c9f6e1d005392dddb2e8dafb799668bb6a9a5c3","tests/s2f_test.rs":"1ec06646cb65229bfe866ec913901a0d8d736668f30b812fc4b00136a43f5142"},"package":"f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"}
\ No newline at end of file
+{"files":{"Cargo.lock":"3f207bfc052a73c05eb40e6deecc571ec393ac8ca5aca717143e1076cbf6abca","Cargo.toml":"bf763044a3da10f2b20d8bf0ad5015ed987510360475814a2c7156d7ffb676c8","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-BOOST":"c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566","README.md":"86f0a92cf076f4983f99926607ea272c9650a5996fa3921fc5ca5abceb0f18db","benches/bench.rs":"703521c8cb9c6959ee305776a9971d24754b6fff5c1737741be04f956a3692e8","examples/upstream_benchmark.rs":"6f35ab60fead940f876457ae5d89b3dbca1f892e6d65bc896ec0fb02bf9dee40","src/buffer/mod.rs":"e32f3fa7e994ff704796e58e115c5258e94a79a184d1608864772f2f2f5274fc","src/common.rs":"cae347e97fc30c50a964f80425e8c3e69ece2b8ab81f9b81b9baa7fcec64a001","src/d2s.rs":"f2612785ebe510c935b979dc5f66f6b8c818ca8a4cf0364ce1fe1d41fea39592","src/d2s_full_table.rs":"9b0186acbc6d65dc55c17e16125be707a2bfb920d22b35d33234b4cc38566a36","src/d2s_intrinsics.rs":"bbf15472f4299942312e80a992cbc2f47f85f17ed193f24084534434dbfb26e7","src/d2s_small_table.rs":"db3bbe4002d816785b0ee233c330f19fa7002f31dab47dc6f67b266996fe3ae4","src/digit_table.rs":"02351ca54cb8cb3679f635115dd094f32fd91750e9f66103c1ee9ec3db507072","src/f2s.rs":"cb96f61d8c6c6c941803a7b629f2bf835e1a20ad9d3e5d3454a30ed3391c3515","src/f2s_intrinsics.rs":"97bab98093838e30c60f5135f54f5ccb039ff7d9f35553ac8e74437743ca47e2","src/lib.rs":"79e6170496357121354caeedfd72cc0e6cce4d359fd4160a41bee62d438f9fc4","src/parse.rs":"7f8aa7e007caf5dcb03abdc4238157724bb742d0823a3b8a01646fa1f1129154","src/pretty/exponent.rs":"fa914ec63b3f86cbdaf7933d7c44e1bc1f93c1239a29a5f86934680a7e957570","src/pretty/mantissa.rs":"40cb00efe1c3fab559ab58389bd519d556548aa18fb261a90dd48138911d039b","src/pretty/mod.rs":"eb0a8c78019f55a1767943821340e8b1278455e0d88bb4f63f4bd3dde340e387","src/s2d.rs":"c804518a771654e3786bde2b776c56e94e198ce6d3fe1e4e5e2f2a9cb9e607e3","src/s2f.rs":"11d528931ce1a01a93f39efb3fe99fdc3041b41fefafb2efd6a338d2a12b628c","tests/common_test.rs":"599781a637d9b9756858aabfe5c38a0734a550debd3d94774f33792b7b3c8240","tests/d2s_intrinsics_test.rs":"15d11b70810bf04f33f8b185bf7f010a436a4edb47fa4648b1a036568c2c5d15","tests/d2s_table_test.rs":"819c39cc94e3462138d3be337d06e7334de126642d34bf1394e03d2df9c0c90c","tests/d2s_test.rs":"e2a25496976e4d94131b0750485fd64047515840f9a68a4648df69b164fd1fdd","tests/exhaustive.rs":"902f4d0b0ce840f076e9dbbf9778c0eeac94d6d052c9f1b0813aef666a20c678","tests/f2s_test.rs":"54c4d4399947199a61d0293d0b5e5cb5214d33a049a67fb767183b7cf6cdd07f","tests/macros/mod.rs":"8e90a674b3960f9516cb38f4eea0e0981ff902c3b33572ebdb6c5528d3ffa72c","tests/s2d_test.rs":"75c3a1044881718db65e05f25c9f6e1d005392dddb2e8dafb799668bb6a9a5c3","tests/s2f_test.rs":"1ec06646cb65229bfe866ec913901a0d8d736668f30b812fc4b00136a43f5142"},"package":"6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"}
\ No newline at end of file
diff --git a/crates/ryu/Android.bp b/crates/ryu/Android.bp
index 305ea1a..56a8889 100644
--- a/crates/ryu/Android.bp
+++ b/crates/ryu/Android.bp
@@ -18,7 +18,7 @@
     host_supported: true,
     crate_name: "ryu",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "src/lib.rs",
     edition: "2018",
     apex_available: [
@@ -34,7 +34,7 @@
     host_supported: true,
     crate_name: "common_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/common_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -55,7 +55,7 @@
     host_supported: true,
     crate_name: "d2s_intrinsics_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/d2s_intrinsics_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -76,7 +76,7 @@
     host_supported: true,
     crate_name: "d2s_table_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/d2s_table_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -97,7 +97,7 @@
     host_supported: true,
     crate_name: "d2s_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/d2s_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -114,11 +114,32 @@
 }
 
 rust_test {
+    name: "ryu_test_tests_exhaustive",
+    host_supported: true,
+    crate_name: "exhaustive",
+    cargo_env_compat: true,
+    cargo_pkg_version: "1.0.19",
+    crate_root: "tests/exhaustive.rs",
+    test_suites: ["general-tests"],
+    auto_gen_config: true,
+    test_options: {
+        unit_test: true,
+    },
+    edition: "2018",
+    rustlibs: [
+        "libnum_cpus",
+        "librand",
+        "librand_xorshift",
+        "libryu",
+    ],
+}
+
+rust_test {
     name: "ryu_test_tests_f2s_test",
     host_supported: true,
     crate_name: "f2s_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/f2s_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -139,7 +160,7 @@
     host_supported: true,
     crate_name: "s2d_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/s2d_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -160,7 +181,7 @@
     host_supported: true,
     crate_name: "s2f_test",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.18",
+    cargo_pkg_version: "1.0.19",
     crate_root: "tests/s2f_test.rs",
     test_suites: ["general-tests"],
     auto_gen_config: true,
diff --git a/crates/ryu/Cargo.lock b/crates/ryu/Cargo.lock
index 9f361d6..7ae9a52 100644
--- a/crates/ryu/Cargo.lock
+++ b/crates/ryu/Cargo.lock
@@ -3,6 +3,18 @@
 version = 3
 
 [[package]]
+name = "bitflags"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10,13 +22,14 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.15"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
 dependencies = [
  "cfg-if",
  "libc",
  "wasi",
+ "windows-targets",
 ]
 
 [[package]]
@@ -27,15 +40,15 @@
 
 [[package]]
 name = "libc"
-version = "0.2.154"
+version = "0.2.169"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
 
 [[package]]
 name = "no-panic"
-version = "0.1.30"
+version = "0.1.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8540b7d99a20166178b42a05776aef900cdbfec397f861dfc7819bf1d7760b3d"
+checksum = "8f7da86466fe446079286ef4b2f6d789755b610a9d85da8477633f734d2697e8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -54,44 +67,47 @@
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.17"
+version = "0.2.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
+dependencies = [
+ "zerocopy 0.7.35",
+]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.81"
+version = "1.0.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
+checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.36"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "rand"
-version = "0.8.5"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
 dependencies = [
- "libc",
  "rand_chacha",
  "rand_core",
+ "zerocopy 0.8.14",
 ]
 
 [[package]]
 name = "rand_chacha"
-version = "0.3.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
 dependencies = [
  "ppv-lite86",
  "rand_core",
@@ -99,25 +115,26 @@
 
 [[package]]
 name = "rand_core"
-version = "0.6.4"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff"
 dependencies = [
  "getrandom",
+ "zerocopy 0.8.14",
 ]
 
 [[package]]
 name = "rand_xorshift"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a"
 dependencies = [
  "rand_core",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.18"
+version = "1.0.19"
 dependencies = [
  "no-panic",
  "num_cpus",
@@ -127,9 +144,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.60"
+version = "2.0.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
+checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -138,12 +155,129 @@
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.12"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
 
 [[package]]
 name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
+version = "0.13.3+wasi-0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
+dependencies = [
+ "wit-bindgen-rt",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wit-bindgen-rt"
+version = "0.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "byteorder",
+ "zerocopy-derive 0.7.35",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a367f292d93d4eab890745e75a778da40909cab4d6ff8173693812f79c4a2468"
+dependencies = [
+ "zerocopy-derive 0.8.14",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3931cb58c62c13adec22e38686b559c86a30565e16ad6e8510a337cedc611e1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/crates/ryu/Cargo.toml b/crates/ryu/Cargo.toml
index 5fa419b..d96c4f5 100644
--- a/crates/ryu/Cargo.toml
+++ b/crates/ryu/Cargo.toml
@@ -13,7 +13,7 @@
 edition = "2018"
 rust-version = "1.36"
 name = "ryu"
-version = "1.0.18"
+version = "1.0.19"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 build = false
 exclude = [
@@ -21,6 +21,7 @@
     "performance.png",
     "chart/**",
 ]
+autolib = false
 autobins = false
 autoexamples = false
 autotests = false
@@ -41,6 +42,9 @@
 rustdoc-args = ["--generate-link-to-definition"]
 targets = ["x86_64-unknown-linux-gnu"]
 
+[features]
+small = []
+
 [lib]
 name = "ryu"
 path = "src/lib.rs"
@@ -51,36 +55,36 @@
 path = "examples/upstream_benchmark.rs"
 
 [[test]]
-name = "s2f_test"
-path = "tests/s2f_test.rs"
-
-[[test]]
 name = "common_test"
 path = "tests/common_test.rs"
 
 [[test]]
-name = "s2d_test"
-path = "tests/s2d_test.rs"
-
-[[test]]
-name = "d2s_test"
-path = "tests/d2s_test.rs"
-
-[[test]]
-name = "f2s_test"
-path = "tests/f2s_test.rs"
+name = "d2s_intrinsics_test"
+path = "tests/d2s_intrinsics_test.rs"
 
 [[test]]
 name = "d2s_table_test"
 path = "tests/d2s_table_test.rs"
 
 [[test]]
+name = "d2s_test"
+path = "tests/d2s_test.rs"
+
+[[test]]
 name = "exhaustive"
 path = "tests/exhaustive.rs"
 
 [[test]]
-name = "d2s_intrinsics_test"
-path = "tests/d2s_intrinsics_test.rs"
+name = "f2s_test"
+path = "tests/f2s_test.rs"
+
+[[test]]
+name = "s2d_test"
+path = "tests/s2d_test.rs"
+
+[[test]]
+name = "s2f_test"
+path = "tests/s2f_test.rs"
 
 [[bench]]
 name = "bench"
@@ -94,10 +98,7 @@
 version = "1.8"
 
 [dev-dependencies.rand]
-version = "0.8"
+version = "0.9"
 
 [dev-dependencies.rand_xorshift]
-version = "0.3"
-
-[features]
-small = []
+version = "0.4"
diff --git a/crates/ryu/METADATA b/crates/ryu/METADATA
index 6e7fec6..9aa6f3a 100644
--- a/crates/ryu/METADATA
+++ b/crates/ryu/METADATA
@@ -1,17 +1,17 @@
 name: "ryu"
 description: "Fast floating point to string conversion"
 third_party {
-  version: "1.0.18"
+  version: "1.0.19"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2024
-    month: 12
-    day: 20
+    year: 2025
+    month: 1
+    day: 28
   }
   homepage: "https://crates.io/crates/ryu"
   identifier {
     type: "Archive"
-    value: "https://static.crates.io/crates/ryu/ryu-1.0.18.crate"
-    version: "1.0.18"
+    value: "https://static.crates.io/crates/ryu/ryu-1.0.19.crate"
+    version: "1.0.19"
   }
 }
diff --git a/crates/ryu/TEST_MAPPING b/crates/ryu/TEST_MAPPING
index 80baf3d..b00504c 100644
--- a/crates/ryu/TEST_MAPPING
+++ b/crates/ryu/TEST_MAPPING
@@ -83,6 +83,9 @@
   "postsubmit": [
     {
       "name": "ryu_test_tests_d2s_intrinsics_test"
+    },
+    {
+      "name": "ryu_test_tests_exhaustive"
     }
   ]
 }
diff --git a/crates/ryu/examples/upstream_benchmark.rs b/crates/ryu/examples/upstream_benchmark.rs
index 437855b..8de56ac 100644
--- a/crates/ryu/examples/upstream_benchmark.rs
+++ b/crates/ryu/examples/upstream_benchmark.rs
@@ -45,7 +45,7 @@
             let mut throwaway = 0;
             for _ in 0..SAMPLES {
                 let f = loop {
-                    let f = $ty::from_bits(rng.gen());
+                    let f = $ty::from_bits(rng.random());
                     if f.is_finite() {
                         break f;
                     }
diff --git a/crates/ryu/src/lib.rs b/crates/ryu/src/lib.rs
index 7b8b450..e8f0578 100644
--- a/crates/ryu/src/lib.rs
+++ b/crates/ryu/src/lib.rs
@@ -81,8 +81,7 @@
 //! notation.
 
 #![no_std]
-#![doc(html_root_url = "https://docs.rs/ryu/1.0.18")]
-#![cfg_attr(not(check_cfg), allow(unexpected_cfgs))]
+#![doc(html_root_url = "https://docs.rs/ryu/1.0.19")]
 #![allow(
     clippy::cast_lossless,
     clippy::cast_possible_truncation,
diff --git a/crates/ryu/tests/d2s_test.rs b/crates/ryu/tests/d2s_test.rs
index 7e8eba6..5454507 100644
--- a/crates/ryu/tests/d2s_test.rs
+++ b/crates/ryu/tests/d2s_test.rs
@@ -67,7 +67,7 @@
 }
 
 #[test]
-#[cfg_attr(miri, ignore)]
+#[cfg_attr(miri, ignore = "too slow for miri")]
 fn test_non_finite() {
     for i in 0u64..1 << 23 {
         let f = f64::from_bits((((1 << 11) - 1) << 52) + (i << 29));
diff --git a/crates/ryu/tests/exhaustive.rs b/crates/ryu/tests/exhaustive.rs
index 569bcff..7262f47 100644
--- a/crates/ryu/tests/exhaustive.rs
+++ b/crates/ryu/tests/exhaustive.rs
@@ -1,4 +1,5 @@
-#![cfg(exhaustive)]
+#![cfg_attr(not(check_cfg), allow(unexpected_cfgs))]
+#![allow(clippy::cast_possible_truncation)]
 
 use std::str;
 use std::sync::atomic::{AtomicUsize, Ordering};
@@ -6,6 +7,7 @@
 use std::thread;
 
 #[test]
+#[cfg_attr(not(exhaustive), ignore = "requires cfg(exhaustive)")]
 fn test_exhaustive() {
     const BATCH_SIZE: u32 = 1_000_000;
     let counter = Arc::new(AtomicUsize::new(0));
diff --git a/crates/ryu/tests/f2s_test.rs b/crates/ryu/tests/f2s_test.rs
index d6249a3..76a860a 100644
--- a/crates/ryu/tests/f2s_test.rs
+++ b/crates/ryu/tests/f2s_test.rs
@@ -60,7 +60,7 @@
 }
 
 #[test]
-#[cfg_attr(miri, ignore)]
+#[cfg_attr(miri, ignore = "too slow for miri")]
 fn test_non_finite() {
     for i in 0u32..1 << 23 {
         let f = f32::from_bits((((1 << 8) - 1) << 23) + i);
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index 3f56f59..b63dc6e 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -4672,9 +4672,9 @@
 
 [[package]]
 name = "ryu"
-version = "1.0.18"
+version = "1.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
 
 [[package]]
 name = "safer-ffi"
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index 06e2023..07060e3 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -291,7 +291,7 @@
 rustc-hash = "=1.1.0"
 rustix = "=0.38.31"
 rustversion = "=1.0.19"
-ryu = "=1.0.18"
+ryu = "=1.0.19"
 same-file = "=1.0.6"
 scopeguard = "=1.2.0"
 sec1 = "=0.7.3"