patch 8.2.2445: Vim9: no proper error for lambda missing return type

Problem:    Vim9: no proper error for lambda missing return type.
Solution:   Check for this error. (closes #7758)
diff --git a/src/userfunc.c b/src/userfunc.c
index 0f28b02..701edaf 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -491,6 +491,11 @@
 	    s = skipwhite(s + 1);
 	    *ret_type = s;
 	    s = skip_type(s, TRUE);
+	    if (s == *ret_type)
+	    {
+		emsg(_(e_missing_return_type));
+		return NULL;
+	    }
 	}
 	bef = s;
 	s = skipwhite(s);
@@ -543,6 +548,7 @@
     char_u	*tofree2 = NULL;
     int		equal_arrow = **arg == '(';
     int		white_error = FALSE;
+    int		called_emsg_start = called_emsg;
 
     if (equal_arrow && !in_vim9script())
 	return NOTDONE;
@@ -560,7 +566,7 @@
     {
 	if (types_optional)
 	    ga_clear_strings(&argtypes);
-	return NOTDONE;
+	return called_emsg == called_emsg_start ? NOTDONE : FAIL;
     }
 
     // Parse the arguments for real.