When compiling an RT shader to Spir-v , the empty Payload struct is recognized - and the shader compiles just fine, however with DXIL the same shader fails to compile.
http://shader-playground.timjones.io/2ea9b49aff52b7bd018503d4a4df4bf5
struct Payload {}; [shader("miss")] void main(inout Payload payload) {}
I've tried disabling optimizations, however this did not have any effect.