[INFO] updating cached repository allengeorge/thrift_rust_doc [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/allengeorge/thrift_rust_doc [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/allengeorge/thrift_rust_doc" "work/ex/beta-1.38-1/sources/1.37.0/gh/allengeorge/thrift_rust_doc"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/allengeorge/thrift_rust_doc'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/allengeorge/thrift_rust_doc" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/allengeorge/thrift_rust_doc"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/allengeorge/thrift_rust_doc'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 92b34e59fac3d0508a38a4f623b3d9f24c02f628 [INFO] sha for GitHub repo allengeorge/thrift_rust_doc: 92b34e59fac3d0508a38a4f623b3d9f24c02f628 [INFO] validating manifest of allengeorge/thrift_rust_doc on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of allengeorge/thrift_rust_doc on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing allengeorge/thrift_rust_doc [INFO] removed path dependency thrift from allengeorge/thrift_rust_doc [INFO] finished frobbing allengeorge/thrift_rust_doc [INFO] frobbed toml for allengeorge/thrift_rust_doc written to work/ex/beta-1.38-1/sources/1.37.0/gh/allengeorge/thrift_rust_doc/Cargo.toml [INFO] started frobbing allengeorge/thrift_rust_doc [INFO] removed path dependency thrift from allengeorge/thrift_rust_doc [INFO] finished frobbing allengeorge/thrift_rust_doc [INFO] frobbed toml for allengeorge/thrift_rust_doc written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/allengeorge/thrift_rust_doc/Cargo.toml [INFO] crate allengeorge/thrift_rust_doc already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/allengeorge/thrift_rust_doc/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing allengeorge/thrift_rust_doc against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/allengeorge/thrift_rust_doc:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] 24d7b38f98c41c2981d0ea087da7f7618294b00b9a7cdedc0119449c9fc99bad [INFO] running `"docker" "start" "-a" "24d7b38f98c41c2981d0ea087da7f7618294b00b9a7cdedc0119449c9fc99bad"` [INFO] [stderr] warning: dependency (thrift) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling integer-encoding v1.0.7 [INFO] [stderr] Compiling try_from v0.2.2 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling threadpool v1.7.1 [INFO] [stderr] Compiling ordered-float v0.3.0 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling thrift v0.12.0 [INFO] [stderr] Compiling thrift-tutorial v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:48:45 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:80:52 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | _i_prot: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | _o_prot: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:130:34 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn new(input_protocol: Box, output_protocol: Box) -> SharedServiceSyncClient { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:130:72 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn new(input_protocol: Box, output_protocol: Box) -> SharedServiceSyncClient { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | fn i_prot_mut(&mut self) -> &mut TInputProtocol { &mut *self._i_prot } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:137:36 [INFO] [stderr] | [INFO] [stderr] 137 | fn o_prot_mut(&mut self) -> &mut TOutputProtocol { &mut *self._o_prot } [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:192:80 [INFO] [stderr] | [INFO] [stderr] 192 | fn process_get_struct(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:192:109 [INFO] [stderr] | [INFO] [stderr] 192 | fn process_get_struct(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:200:119 [INFO] [stderr] | [INFO] [stderr] 200 | pub fn process_get_struct(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:200:148 [INFO] [stderr] | [INFO] [stderr] 200 | pub fn process_get_struct(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:240:38 [INFO] [stderr] | [INFO] [stderr] 240 | fn process(&mut self, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:240:67 [INFO] [stderr] | [INFO] [stderr] 240 | fn process(&mut self, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:270:41 [INFO] [stderr] | [INFO] [stderr] 270 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:297:48 [INFO] [stderr] | [INFO] [stderr] 297 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:318:41 [INFO] [stderr] | [INFO] [stderr] 318 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/shared.rs:344:48 [INFO] [stderr] | [INFO] [stderr] 344 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:44:52 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:47:45 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:147:52 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:216:45 [INFO] [stderr] | [INFO] [stderr] 216 | pub fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:248:52 [INFO] [stderr] | [INFO] [stderr] 248 | pub fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:340:16 [INFO] [stderr] | [INFO] [stderr] 340 | _i_prot: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:341:16 [INFO] [stderr] | [INFO] [stderr] 341 | _o_prot: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:346:34 [INFO] [stderr] | [INFO] [stderr] 346 | pub fn new(input_protocol: Box, output_protocol: Box) -> CalculatorSyncClient { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:346:72 [INFO] [stderr] | [INFO] [stderr] 346 | pub fn new(input_protocol: Box, output_protocol: Box) -> CalculatorSyncClient { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:352:36 [INFO] [stderr] | [INFO] [stderr] 352 | fn i_prot_mut(&mut self) -> &mut TInputProtocol { &mut *self._i_prot } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:353:36 [INFO] [stderr] | [INFO] [stderr] 353 | fn o_prot_mut(&mut self) -> &mut TOutputProtocol { &mut *self._o_prot } [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:489:74 [INFO] [stderr] | [INFO] [stderr] 489 | fn process_ping(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:489:103 [INFO] [stderr] | [INFO] [stderr] 489 | fn process_ping(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:492:73 [INFO] [stderr] | [INFO] [stderr] 492 | fn process_add(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:492:102 [INFO] [stderr] | [INFO] [stderr] 492 | fn process_add(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:495:79 [INFO] [stderr] | [INFO] [stderr] 495 | fn process_calculate(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:495:108 [INFO] [stderr] | [INFO] [stderr] 495 | fn process_calculate(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:498:73 [INFO] [stderr] | [INFO] [stderr] 498 | fn process_zip(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:498:102 [INFO] [stderr] | [INFO] [stderr] 498 | fn process_zip(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:501:80 [INFO] [stderr] | [INFO] [stderr] 501 | fn process_get_struct(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:501:109 [INFO] [stderr] | [INFO] [stderr] 501 | fn process_get_struct(&mut self, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:509:110 [INFO] [stderr] | [INFO] [stderr] 509 | pub fn process_ping(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:509:139 [INFO] [stderr] | [INFO] [stderr] 509 | pub fn process_ping(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:546:109 [INFO] [stderr] | [INFO] [stderr] 546 | pub fn process_add(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:546:138 [INFO] [stderr] | [INFO] [stderr] 546 | pub fn process_add(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:583:115 [INFO] [stderr] | [INFO] [stderr] 583 | pub fn process_calculate(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:583:144 [INFO] [stderr] | [INFO] [stderr] 583 | pub fn process_calculate(handler: &mut H, incoming_sequence_number: i32, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:643:86 [INFO] [stderr] | [INFO] [stderr] 643 | pub fn process_zip(handler: &mut H, _: i32, i_prot: &mut TInputProtocol, _: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:643:110 [INFO] [stderr] | [INFO] [stderr] 643 | pub fn process_zip(handler: &mut H, _: i32, i_prot: &mut TInputProtocol, _: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:670:38 [INFO] [stderr] | [INFO] [stderr] 670 | fn process(&mut self, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:670:67 [INFO] [stderr] | [INFO] [stderr] 670 | fn process(&mut self, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:711:41 [INFO] [stderr] | [INFO] [stderr] 711 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:730:48 [INFO] [stderr] | [INFO] [stderr] 730 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:747:41 [INFO] [stderr] | [INFO] [stderr] 747 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:766:48 [INFO] [stderr] | [INFO] [stderr] 766 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:788:41 [INFO] [stderr] | [INFO] [stderr] 788 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:822:48 [INFO] [stderr] | [INFO] [stderr] 822 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:846:41 [INFO] [stderr] | [INFO] [stderr] 846 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:872:48 [INFO] [stderr] | [INFO] [stderr] 872 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:913:41 [INFO] [stderr] | [INFO] [stderr] 913 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:947:48 [INFO] [stderr] | [INFO] [stderr] 947 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:972:41 [INFO] [stderr] | [INFO] [stderr] 972 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:1004:48 [INFO] [stderr] | [INFO] [stderr] 1004 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:1053:41 [INFO] [stderr] | [INFO] [stderr] 1053 | fn read_from_in_protocol(i_prot: &mut TInputProtocol) -> thrift::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn TInputProtocol` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tutorial.rs:1072:48 [INFO] [stderr] | [INFO] [stderr] 1072 | fn write_to_out_protocol(&self, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TOutputProtocol` [INFO] [stderr] [INFO] [stderr] error[E0053]: method `process` has an incompatible type for trait [INFO] [stderr] --> src/shared.rs:240:3 [INFO] [stderr] | [INFO] [stderr] 240 | fn process(&mut self, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `fn(&shared::SharedServiceSyncProcessor, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<(), thrift::Error>` [INFO] [stderr] found type `fn(&mut shared::SharedServiceSyncProcessor, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<(), thrift::Error>` [INFO] [stderr] [INFO] [stderr] error[E0053]: method `process` has an incompatible type for trait [INFO] [stderr] --> src/tutorial.rs:670:3 [INFO] [stderr] | [INFO] [stderr] 670 | fn process(&mut self, i_prot: &mut TInputProtocol, o_prot: &mut TOutputProtocol) -> thrift::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `fn(&tutorial::CalculatorSyncProcessor, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<(), thrift::Error>` [INFO] [stderr] found type `fn(&mut tutorial::CalculatorSyncProcessor, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<(), thrift::Error>` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0053`. [INFO] [stderr] error: Could not compile `thrift-tutorial`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "24d7b38f98c41c2981d0ea087da7f7618294b00b9a7cdedc0119449c9fc99bad"` [INFO] running `"docker" "rm" "-f" "24d7b38f98c41c2981d0ea087da7f7618294b00b9a7cdedc0119449c9fc99bad"` [INFO] [stdout] 24d7b38f98c41c2981d0ea087da7f7618294b00b9a7cdedc0119449c9fc99bad