kind::check_expr just doesn't have a case for structs, so you can write:
B { foo: x }
if x has type ~T and B is a struct with a ~T field foo.
This wasn't showing up before because last-use was enabled and most values involved in initializing a struct are going to be last uses.
I have a fix, testing it.