fix Issue 3449 - const and invariant struct members do not behave according to spec