fix(tvix): patch futures::AsyncBufReadExt::fill_buf

This fixes EOF handling for buffered readers.

Link: https://github.com/rust-lang/futures-rs/pull/2801
Change-Id: Ie98ca6a3e1de38500b0195e9b62511501acb1d2c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10086
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
edef 2023-11-19 05:23:53 +00:00
parent 479f26f46c
commit 9ad7cc629e
5 changed files with 84 additions and 24 deletions

24
tvix/Cargo.lock generated
View file

@ -819,8 +819,7 @@ dependencies = [
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@ -829,14 +828,12 @@ dependencies = [
[[package]] [[package]]
name = "futures-core" name = "futures-core"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
[[package]] [[package]]
name = "futures-executor" name = "futures-executor"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-task", "futures-task",
@ -846,14 +843,12 @@ dependencies = [
[[package]] [[package]]
name = "futures-io" name = "futures-io"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
[[package]] [[package]]
name = "futures-macro" name = "futures-macro"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
dependencies = [ dependencies = [
"proc-macro2 1.0.67", "proc-macro2 1.0.67",
"quote 1.0.26", "quote 1.0.26",
@ -863,20 +858,17 @@ dependencies = [
[[package]] [[package]]
name = "futures-sink" name = "futures-sink"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
[[package]] [[package]]
name = "futures-task" name = "futures-task"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
[[package]] [[package]]
name = "futures-util" name = "futures-util"
version = "0.3.29" version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85"
checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",

View file

@ -2407,7 +2407,12 @@ rec {
crateName = "futures-channel"; crateName = "futures-channel";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "1jxsifvrbqzdadk0svbax71cba5d3qg3wgjq8i160mxmd1kdckgz"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
dependencies = [ dependencies = [
{ {
name = "futures-core"; name = "futures-core";
@ -2434,7 +2439,12 @@ rec {
crateName = "futures-core"; crateName = "futures-core";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "1308bpj0g36nhx2y6bl4mm6f1gnh9xyvvw2q2wpdgnb6dv3247gb"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
features = { features = {
"default" = [ "std" ]; "default" = [ "std" ];
"portable-atomic" = [ "dep:portable-atomic" ]; "portable-atomic" = [ "dep:portable-atomic" ];
@ -2446,7 +2456,12 @@ rec {
crateName = "futures-executor"; crateName = "futures-executor";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "1g4pjni0sw28djx6mlcfz584abm2lpifz86cmng0kkxh7mlvhkqg"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
dependencies = [ dependencies = [
{ {
name = "futures-core"; name = "futures-core";
@ -2476,7 +2491,12 @@ rec {
crateName = "futures-io"; crateName = "futures-io";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "1ajsljgny3zfxwahba9byjzclrgvm1ypakca8z854k2w7cb4mwwb"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
features = { features = {
"default" = [ "std" ]; "default" = [ "std" ];
}; };
@ -2486,7 +2506,12 @@ rec {
crateName = "futures-macro"; crateName = "futures-macro";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "1nwd18i8kvpkdfwm045hddjli0n96zi7pn6f99zi9c74j7ym7cak"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
procMacro = true; procMacro = true;
dependencies = [ dependencies = [
{ {
@ -2509,7 +2534,12 @@ rec {
crateName = "futures-sink"; crateName = "futures-sink";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "05q8jykqddxzp8nwf00wjk5m5mqi546d7i8hsxma7hiqxrw36vg3"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
features = { features = {
"default" = [ "std" ]; "default" = [ "std" ];
"std" = [ "alloc" ]; "std" = [ "alloc" ];
@ -2520,7 +2550,12 @@ rec {
crateName = "futures-task"; crateName = "futures-task";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "1qmsss8rb5ppql4qvd4r70h9gpfcpd0bg2b3qilxrnhdkc397lgg"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
features = { features = {
"default" = [ "std" ]; "default" = [ "std" ];
"std" = [ "alloc" ]; "std" = [ "alloc" ];
@ -2531,7 +2566,12 @@ rec {
crateName = "futures-util"; crateName = "futures-util";
version = "0.3.29"; version = "0.3.29";
edition = "2018"; edition = "2018";
sha256 = "0141rkqh0psj4h8x8lgsl1p29dhqr7z2wcixkcbs60z74kb2d5d1"; workspace_member = null;
src = pkgs.fetchgit {
url = "https://github.com/edef1c/futures-rs";
rev = "23e25061f2261794d6d611675a6372c96b70fa85";
sha256 = "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r";
};
dependencies = [ dependencies = [
{ {
name = "futures-channel"; name = "futures-channel";

View file

@ -36,3 +36,14 @@ members = [
[profile.release-with-debug] [profile.release-with-debug]
inherits = "release" inherits = "release"
debug = true debug = true
[patch.crates-io]
# https://github.com/rust-lang/futures-rs/pull/2801
futures-channel = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-core = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-executor = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-io = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-macro = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-sink = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-task = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }
futures-util = { git = "https://github.com/edef1c/futures-rs", rev = "23e25061f2261794d6d611675a6372c96b70fa85" }

View file

@ -1,5 +1,13 @@
{ {
"fuse-backend-rs 0.10.5 (git+https://github.com/griff/fuse-backend-rs?branch=macfuse-fix#70b835cada7e1f18e5cbb13f6c4b698ba203c820)": "107iaw8zqsz888xh9nkq3vvki1c1rqqqg0mncdplradhhn7wp3kp", "fuse-backend-rs 0.10.5 (git+https://github.com/griff/fuse-backend-rs?branch=macfuse-fix#70b835cada7e1f18e5cbb13f6c4b698ba203c820)": "107iaw8zqsz888xh9nkq3vvki1c1rqqqg0mncdplradhhn7wp3kp",
"futures-channel 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-core 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-executor 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-io 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-macro 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-sink 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-task 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"futures-util 0.3.29 (git+https://github.com/edef1c/futures-rs?rev=23e25061f2261794d6d611675a6372c96b70fa85#23e25061f2261794d6d611675a6372c96b70fa85)": "082d1f2201slvpl36v30lq8dchp5kh91yx64j9n9amf3bsdaf98r",
"test-generator 0.3.0 (git+https://github.com/JamesGuthrie/test-generator.git?rev=82e799979980962aec1aa324ec6e0e4cad781f41#82e799979980962aec1aa324ec6e0e4cad781f41)": "08brp3qqa55hijc7xby3lam2cc84hvx1zzfqv6lj7smlczh8k32y", "test-generator 0.3.0 (git+https://github.com/JamesGuthrie/test-generator.git?rev=82e799979980962aec1aa324ec6e0e4cad781f41#82e799979980962aec1aa324ec6e0e4cad781f41)": "08brp3qqa55hijc7xby3lam2cc84hvx1zzfqv6lj7smlczh8k32y",
"wu-manber 0.1.0 (git+https://github.com/tvlfyi/wu-manber.git#0d5b22bea136659f7de60b102a7030e0daaa503d)": "1zhk83lbq99xzyjwphv2qrb8f8qgfqwa5bbbvyzm0z0bljsjv0pd" "wu-manber 0.1.0 (git+https://github.com/tvlfyi/wu-manber.git#0d5b22bea136659f7de60b102a7030e0daaa503d)": "1zhk83lbq99xzyjwphv2qrb8f8qgfqwa5bbbvyzm0z0bljsjv0pd"
} }

View file

@ -74,6 +74,15 @@ let
"fuse-backend-rs" "fuse-backend-rs"
"test-generator" "test-generator"
"wu-manber" "wu-manber"
"futures-channel"
"futures-core"
"futures-executor"
"futures-io"
"futures-macro"
"futures-sink"
"futures-task"
"futures-util"
]); ]);
}; };
in in