gccrs: parser: Fix ICE in AnonConst by handling null macro result
The parse_anon_const function triggered an assertion failure (ICE) when
receiving a success Result containing a null expression pointer. This
occurred because null_denotation_path directly returned the result of
parse_macro_invocation_partial (which returns a raw pointer) without
checking for failure.
When parse_macro_invocation_partial failed (returning nullptr), it was
wrapped into a tl::expected success state containing nullptr, rather than
an error state.
This patch adds a check in null_denotation_path to verify if the parsed
macro invocation is null. If it is, it now returns a tl::unexpected error,
ensuring that invalid expressions are correctly reported as errors
upstream.
Fixes Rust-GCC#4412
gcc/rust/ChangeLog:
* parse/rust-parse-impl-expr.hxx (null_denotation_path): Check
if macro invocation returns null and return error.