stage2: fix AstGen for some struct syntaxes

* AstGen: fix not emitting `struct_init_empty` when an explicit type is
   present in struct initialization syntax.
 * AstGen: these two syntaxes now lower to identical ZIR:
   - `var a = A{ .b = c };`
   - `var a = @as(A, .{ .b = c });`
 * Zir: clarify `auto_enum_tag` in the doc comments.
 * LLVM Backend: fix lowering of function return types when the type has
   0 bits.
736d14fd5fAndrew Kelley committed on 9/23/2021, 4:06:00 AMparent0ec01e5
6 files changedLine totals unavailable