[Chapel Merge] Fix compiler's representation of paren-less functi

Branch: refs/heads/main
Revision: a99c66b
Author: bradcray
Log Message:

Merge pull request #18269 from bradcray/fix-parenless-return-ident

Fix compiler's representation of paren-less functions that simply return

[reviewed by @dlongnecke-cray]

When the parser+lexer is gobbling up text to store as the user's
function header, it has not been handling this case properly:

proc parenLessFn return expr;

because it's been triggering off of the presence of curly brackets as
the signal to stop gobbling code into the function's string.

This change makes a simple change to the lexer to also stop if it sees
a return statement (the one statement that we support for functions
without curly brackets at present) and retires two futures.

Modified Files:
R test/parsing/vass/parenthesis-less-function-string.bad

R test/parsing/vass/parenthesis-less-function-string.future
R test/trivial/diten/shortMethodError.bad
R test/trivial/diten/shortMethodError.future
M compiler/parser/chapel.lex
M compiler/parser/flex-chapel.cpp

Compare: https://github.com/chapel-lang/chapel/compare/9631b6d98c2c...a99c66bcb9ff