[Playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=ccb733e1384a2c1c370fb7f511a89225) containing an extract of the code from the current master (d3f5f23483dc3b61746f041da4fc422e24316c96) ```Rust #[repr(C)] struct Foo { a: core::sync::atomic::AtomicUsize, } assert_eq!([0; offset_of!(Foo, a)].len(), 0); ``` Building this fails with the following error: ``` error[E0492]: cannot borrow a constant which may contain interior mutability, create a static instead --> src/offset_of:112:66 | 112 | let base_ref = ::core::mem::transmute::<_, &$parent>(&uninit); | ^^^^^^^ ... NNN | assert_eq!([0; offset_of!(Foo, a)].len(), 0); | ------------------ in this macro invocation ``` Note that there is no error if `Foo::a` is `usize` instead.