if target_os = "emscripten" ClipboardContext is not defined and not set to NopClipboardContext;
I would be fine for it getting set to Nop, getting the clipboard works very differently in wasm/emscripten and very much out of this scope having to cross the JS/FFI boundary without web-sys available and getting navigator.clipboard.
But, it doesnt get defined at all and that makes the compiler unhappy.
#[cfg(not(any( unix, windows, target_os = "macos", target_os = "android", target_os = "ios", target_os = "emscripten" )))] pub type ClipboardContext = nop_clipboard::NopClipboardContext;
I think the condition is mixed up here.
Add this before please (under the TODOs for android and ios) #[cfg(target_os = "emscripten")] pub type ClipboardContext = nop_clipboard::NopClipboardContext;
Makes sense, happy to accept a patch.