| //@ compile-flags: -Zunstable-options -Zoffload=Device -Clto=fat -Csymbol-mangling-version=v0 | |
| //@ build-fail | |
| //@ needs-offload | |
| // A generic offload kernel that is never called from host code (and hence | |
| // never monomorphized) cannot be discovered without a manifest: with | |
| // `-Zoffload=Device` (no manifest path), the compiler relies on | |
| // monomorphization to find kernels, so it must reject the kernel rather than | |
| // silently emit no device code for it. | |
| #![feature(rustc_attrs)] | |
| #![allow(internal_features)] | |
| #[rustc_offload_kernel] | |
| fn kernel<T: Copy>(x: T) {} | |
| //~^ ERROR generic offload kernel `kernel` is not instantiated | |
| fn main() {} |