[INFO] updating cached repository https://github.com/allengeorge/thrift_rust_doc
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 92b34e59fac3d0508a38a4f623b3d9f24c02f628
[INFO] checking allengeorge/thrift_rust_doc against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fallengeorge%2Fthrift_rust_doc" "/workspace/builds/worker-1/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/allengeorge/thrift_rust_doc on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/allengeorge/thrift_rust_doc
[INFO] removed path dependency thrift from git repo https://github.com/allengeorge/thrift_rust_doc
[INFO] finished tweaking git repo https://github.com/allengeorge/thrift_rust_doc
[INFO] tweaked toml for git repo https://github.com/allengeorge/thrift_rust_doc written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/allengeorge/thrift_rust_doc already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[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]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-1/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[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] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 3157c574774cec5845d33fc2d159e8793dc1c35bd21426aca857525d57a1f862
[INFO] running `"docker" "start" "-a" "3157c574774cec5845d33fc2d159e8793dc1c35bd21426aca857525d57a1f862"`
[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]     Checking ordered-float v0.3.0
[INFO] [stderr]     Checking thrift v0.13.0
[INFO] [stderr]     Checking thrift-tutorial v0.1.0 (/opt/rustwide/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<SharedStruct> {
[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<TInputProtocol>,
[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<TOutputProtocol>,
[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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<H: SharedServiceSyncHandler>(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<H: SharedServiceSyncHandler>(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<GetStructArgs> {
[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<GetStructResult> {
[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<Operation> {
[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<Work> {
[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<InvalidOperation> {
[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<TInputProtocol>,
[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<TOutputProtocol>,
[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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<PingArgs> {
[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<PingResult> {
[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<AddArgs> {
[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<AddResult> {
[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<CalculateArgs> {
[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<CalculateResult> {
[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<ZipArgs> {
[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] 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<SharedStruct> {
[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<TInputProtocol>,
[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<TOutputProtocol>,
[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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<H: SharedServiceSyncHandler>(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<H: SharedServiceSyncHandler>(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<GetStructArgs> {
[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<GetStructResult> {
[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<Operation> {
[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<Work> {
[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<InvalidOperation> {
[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<TInputProtocol>,
[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<TOutputProtocol>,
[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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<TInputProtocol>, output_protocol: Box<TOutputProtocol>) -> 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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<H: CalculatorSyncHandler>(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<PingArgs> {
[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<PingResult> {
[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<AddArgs> {
[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<AddResult> {
[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<CalculateArgs> {
[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<CalculateResult> {
[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<ZipArgs> {
[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 fn pointer `fn(&shared::SharedServiceSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut shared::SharedServiceSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[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 fn pointer `fn(&tutorial::CalculatorSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut tutorial::CalculatorSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/shared.rs:224:19
[INFO] [stderr]     |
[INFO] [stderr] 224 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[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 fn pointer `fn(&shared::SharedServiceSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut shared::SharedServiceSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[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 fn pointer `fn(&tutorial::CalculatorSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[INFO] [stderr]                found fn pointer `fn(&mut tutorial::CalculatorSyncProcessor<H>, &mut dyn thrift::protocol::TInputProtocol, &mut dyn thrift::protocol::TOutputProtocol) -> std::result::Result<_, _>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:295:10
[INFO] [stderr]     |
[INFO] [stderr] 295 |     self.description().fmt(f)
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/shared.rs:224:19
[INFO] [stderr]     |
[INFO] [stderr] 224 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:533:19
[INFO] [stderr]     |
[INFO] [stderr] 533 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:570:19
[INFO] [stderr]     |
[INFO] [stderr] 570 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:609:27
[INFO] [stderr]     |
[INFO] [stderr] 609 |                   usr_err.description()
[INFO] [stderr]     |                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:630:19
[INFO] [stderr]     |
[INFO] [stderr] 630 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:658:19
[INFO] [stderr]     |
[INFO] [stderr] 658 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[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] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:295:10
[INFO] [stderr]     |
[INFO] [stderr] 295 |     self.description().fmt(f)
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `thrift-tutorial`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:533:19
[INFO] [stderr]     |
[INFO] [stderr] 533 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:570:19
[INFO] [stderr]     |
[INFO] [stderr] 570 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:609:27
[INFO] [stderr]     |
[INFO] [stderr] 609 |                   usr_err.description()
[INFO] [stderr]     |                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:630:19
[INFO] [stderr]     |
[INFO] [stderr] 630 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> src/tutorial.rs:658:19
[INFO] [stderr]     |
[INFO] [stderr] 658 |                 e.description()
[INFO] [stderr]     |                   ^^^^^^^^^^^
[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" "3157c574774cec5845d33fc2d159e8793dc1c35bd21426aca857525d57a1f862"`
[INFO] running `"docker" "rm" "-f" "3157c574774cec5845d33fc2d159e8793dc1c35bd21426aca857525d57a1f862"`
[INFO] [stdout] 3157c574774cec5845d33fc2d159e8793dc1c35bd21426aca857525d57a1f862
