The sentiment in Zig is that you don’t want to issue warnings. The language is lazily compiled, so if the user doesn’t try to call code which doesn’t work, everything is fine. Contrariwise, if the user does try and call code which won’t work, you can detect if the platform is supported using builtin, and emit a @compileError.
This is a good example of why that sentiment exists, in fact. There’s nothing to warn about here, the code will break when it runs. That isn’t advisory, it’s fatal.
It’s also a good example of why lazy compilation is such a good idea. All your examples can live next to each other happily, gated by the supported platforms. If someone tries to use one when they can’t, they get an informative compile error. But if they don’t call those specific examples from your library, the code isn’t even analyzed, it won’t show up in their program.
Personally, I use lazy dependencies as a matter of policy. If there are any downsides, I have yet to see them.