JuliaLowering: Reject duplicate field names in struct definitions (#61471)
The flisp lowerer reports an error for `struct A; x; x; end`, but
JuliaLowering did not have an explicit check. The duplicate was only
caught later as a "function argument name not unique" error during
constructor generation, which was confusing.
Add an explicit check in `_collect_struct_fields` that throws a
`LoweringError` with the same message format as flisp when a duplicate
field name is encountered.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Em Chu <61633163+mlechu@users.noreply.github.com>