In both while break S {} {} and while return S {} {}, the value broken/returned is parsed as S {} by rustc, not just S. In other words whether or not allow_struct is true outside of the break/return expression, inside it's treated as true regardless.
In both
while break S {} {}
andwhile return S {} {}
, the value broken/returned is parsed asS {}
by rustc, not justS
. In other words whether or notallow_struct
is true outside of the break/return expression, inside it's treated as true regardless.