This isn't a complete fix. There's still this error when running the tests. I don't understand which expect function it's complaining about. One generated by the MockServer? ---------------------------------------------------------------------- warning: the cargo feature `resolver` has been stabilized in the 1.51 release and is no longer necessary to be listed in the manifest See https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions for more information about using this feature. Compiling nbdkit v0.2.0 (/home/rjones/d/nbdkit/plugins/rust) error: associated function `expect` is never used --> tests/common/mod.rs:49:1 | 49 | / mock!{ 50 | | pub Server {} 51 | | impl Server for Server { 52 | | fn cache(&self, count: u32, offset: u64) -> Result<()>; ... | 86 | | } 87 | | } | |_^ | = note: `-D dead-code` implied by `-D warnings` error: could not compile `nbdkit` due to previous error warning: build failed, waiting for other jobs to finish... error: could not compile `nbdkit` due to previous error FAIL test.sh (exit status: 101) ---------------------------------------------------------------------- Rich.
Because of this recent change to rust, our close function warned that we calculate Box::from_raw but never use it. I added the suggested call to drop() around the function. https://github.com/rust-lang/rust/pull/99270 --- plugins/rust/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/rust/src/lib.rs b/plugins/rust/src/lib.rs index 69be36fb2..128334ef2 100644 --- a/plugins/rust/src/lib.rs +++ b/plugins/rust/src/lib.rs @@ -368,7 +368,7 @@ mod ffi { pub(super) extern fn close(selfp: *mut c_void) { unsafe { - Box::from_raw(selfp as *mut Box<dyn Server>); + drop(Box::from_raw(selfp as *mut Box<dyn Server>)); } } -- 2.37.0.rc2