Use Zero-Sized Type for Dummy type
Summary:
Currently, for MemoGetEager, we pass both Labels to the first `BA` in the form of a Label Slice. The second `BA` that is specified in `opcodes.h` is just a dummy immediate. We previously set this to be `u8`, but this was being implicitly converted to a `u32` since Label is `repr(transparent)` , and Label is a struct with one `u32` field.
> repr(transparent): The effect is that the layout and ABI of the whole struct is guaranteed to be the same as that one field.
If we make `Dummy` an empty struct, it cannot be implicitly converted to `uin32_t`, and takes up no space in rust, (though it does take up 1 byte in C++).
Reviewed By: aorenste
Differential Revision:
D36561303
fbshipit-source-id:
61c2cb67828f8763586d28b68843e62294f14dd8