forked from 1b-agent/opencadstudio-upstream
chore: silence native and wasm build warnings
Gate target-specific code so neither build warns about the other's items: native-only helpers (view, window icon, file dialogs, file association, plugin host/guard/registry, self-update) are cfg'd to non-wasm; the wasm-only font fallback (script_of / cjk_lang / request) is cfg'd to wasm. Drop an unused mut, allow the few genuinely-conditional dead items (mesh_click_hit, GPU layout helpers, parity stubs), and gate the embedded PlotSettings-unrelated dead constants. Both targets now build clean (only the unavoidable nom/quick-xml future-incompat dependency notice remains). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
2de5c7668f
commit
10e4c18ba7
20 files changed
+37
-2
No files matched your search
@@ -16,6 +16,7 @@ pub(crate) use registry::try_dispatch;
|
||||
/// the cdylib boundary — it does NOT contain genuine UB (a plugin that
|
||||
/// segfaults or violates memory safety via `unsafe` can still crash the host;
|
||||
/// only out-of-process isolation would). (#145)
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
pub(crate) fn guard<T>(what: &str, f: impl FnOnce() -> T) -> Option<T> {
|
||||
match std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)) {
|
||||
Ok(v) => Some(v),
|
||||
@@ -38,12 +39,14 @@ pub(crate) fn guard<T>(what: &str, f: impl FnOnce() -> T) -> Option<T> {
|
||||
|
||||
/// Process-wide queue of plugin-guard errors waiting to surface in the host's
|
||||
/// command-line history. Flushed by [`drain_errors`] from the app loop.
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
fn errors() -> &'static std::sync::Mutex<Vec<String>> {
|
||||
static E: std::sync::OnceLock<std::sync::Mutex<Vec<String>>> = std::sync::OnceLock::new();
|
||||
E.get_or_init(|| std::sync::Mutex::new(Vec::new()))
|
||||
}
|
||||
|
||||
/// Take and return every queued plugin-guard error since the last drain.
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
pub(crate) fn drain_errors() -> Vec<String> {
|
||||
std::mem::take(&mut *errors().lock().unwrap())
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user