diff --git a/crates/fj-host/src/model.rs b/crates/fj-host/src/model.rs index 7431ff75a..61285beb9 100644 --- a/crates/fj-host/src/model.rs +++ b/crates/fj-host/src/model.rs @@ -108,15 +108,13 @@ impl Model { let version_pkg: libloading::Symbol RawVersion> = lib.get(b"version_pkg").map_err(Error::LoadingVersion)?; - let version_pkg = version_pkg(); - if fj::version::VERSION_PKG != version_pkg.as_str() { + let version_pkg = version_pkg().to_string(); + if fj::version::VERSION_PKG != version_pkg { let host = String::from_utf8_lossy( fj::version::VERSION_PKG.as_bytes(), ) .into_owned(); - let model = - String::from_utf8_lossy(version_pkg.as_str().as_bytes()) - .into_owned(); + let model = version_pkg; return Err(Error::VersionMismatch { host, model }); } @@ -124,15 +122,13 @@ impl Model { let version_full: libloading::Symbol RawVersion> = lib.get(b"version_full").map_err(Error::LoadingVersion)?; - let version_full = version_full(); - if fj::version::VERSION_FULL != version_full.as_str() { + let version_full = version_full().to_string(); + if fj::version::VERSION_FULL != version_full { let host = String::from_utf8_lossy( fj::version::VERSION_FULL.as_bytes(), ) .into_owned(); - let model = - String::from_utf8_lossy(version_full.as_str().as_bytes()) - .into_owned(); + let model = version_full; warn!("{}", Error::VersionMismatch { host, model }); } diff --git a/crates/fj-window/src/run.rs b/crates/fj-window/src/run.rs index 0e6a73f12..933f3b346 100644 --- a/crates/fj-window/src/run.rs +++ b/crates/fj-window/src/run.rs @@ -102,19 +102,7 @@ pub fn run( } ModelEvent::Error(err) => { - // Can be cleaned up, once `Report` is stable: - // https://doc.rust-lang.org/std/error/struct.Report.html - - println!("Error receiving updated shape: {}", err); - - let mut current_err = &err as &dyn error::Error; - while let Some(err) = current_err.source() { - println!(); - println!("Caused by:"); - println!(" {}", err); - - current_err = err; - } + status.update_status(&err.to_string()); } } } diff --git a/crates/fj/src/version.rs b/crates/fj/src/version.rs index bc8d8372e..0d81ede60 100644 --- a/crates/fj/src/version.rs +++ b/crates/fj/src/version.rs @@ -39,9 +39,10 @@ impl RawVersion { /// /// Must be a `RawVersion` returned from one of the hidden version functions /// in this module. - pub unsafe fn as_str(&self) -> &str { + #[allow(clippy::inherent_to_string)] + pub unsafe fn to_string(&self) -> String { let slice = slice::from_raw_parts(self.ptr, self.len); - std::str::from_utf8(slice).unwrap() + String::from_utf8_lossy(slice).into_owned() } }