Non-fatally assert that tts is empty. Note that this function
returns even when tts is non-empty, macros that need to stop
compilation should call cx.diagnostic().abort_if_errors()
(this should be done as rarely as possible).
Extracts a string literal from the macro expanded version of expr,
returning a diagnostic error of err_msg if expr is not a string literal.
The returned bool indicates whether an applicable suggestion has already been
added to the diagnostic to avoid emitting multiple suggestions. Err(Err(ErrorGuaranteed))
indicates that an ast error was encountered.
Extracts a string literal from the macro expanded version of expr,
emitting err_msg if expr is not a string literal. This does not stop
compilation on error, merely emits a non-fatal error and returns Err.
Ok is returned when the conversion to a string literal is unsuccessful,
but another type of expression is obtained instead.Err is returned when the conversion process fails.