Detect a traits being used as structs in check_expr_with_unifier

Fixes #16750
Fixes #15812
Added cfail test
Changed error to 'use of trait `{}` as a struct constructor'
auto merge of #16867 : wickerwaka/rust/ice-16750, r=alexcrichton

Not sure if this is addressing the root cause or just patching up a symptom. Also not sure if I should be adding a diagnostic code for this.

Fixes #16750
Fixes #15812