It's common knowledge to not cause any writes inside an assertion condition
since they are not guaranteed to be executed, so we can still evaluate them and
cast to void, which the compiler can optimize away. It's better than having a
`(void)rc;` for every variable that is only used in assertions.