patch 8.2.3701: Vim9: invalid LHS is not possible

Problem:    Vim9: invalid LHS is not possible.
Solution:   Remove unreachable error message.
diff --git a/src/version.c b/src/version.c
index c7daabc..b8dbf37 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3701,
+/**/
     3700,
 /**/
     3699,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 2c4e203..e5e806c 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -6503,52 +6503,43 @@
     lhs->lhs_member_type = lhs->lhs_type;
     if (lhs->lhs_has_index)
     {
+	char_u	*after = var_start + lhs->lhs_varlen;
+	char_u	*p;
+
 	// Something follows after the variable: "var[idx]" or "var.key".
-	// TODO: should we also handle "->func()" here?
 	if (is_decl)
 	{
 	    emsg(_(e_cannot_use_index_when_declaring_variable));
 	    return FAIL;
 	}
 
-	if (var_start[lhs->lhs_varlen] == '['
-					  || var_start[lhs->lhs_varlen] == '.')
+	// Now: var_start[lhs->lhs_varlen] is '[' or '.'
+	// Only the last index is used below, if there are others
+	// before it generate code for the expression.  Thus for
+	// "ll[1][2]" the expression is "ll[1]" and "[2]" is the index.
+	for (;;)
 	{
-	    char_u	*after = var_start + lhs->lhs_varlen;
-	    char_u	*p;
-
-	    // Only the last index is used below, if there are others
-	    // before it generate code for the expression.  Thus for
-	    // "ll[1][2]" the expression is "ll[1]" and "[2]" is the index.
-	    for (;;)
+	    p = skip_index(after);
+	    if (*p != '[' && *p != '.')
 	    {
-		p = skip_index(after);
-		if (*p != '[' && *p != '.')
-		{
-		    lhs->lhs_varlen_total = p - var_start;
-		    break;
-		}
-		after = p;
+		lhs->lhs_varlen_total = p - var_start;
+		break;
 	    }
-	    if (after > var_start + lhs->lhs_varlen)
-	    {
-		lhs->lhs_varlen = after - var_start;
-		lhs->lhs_dest = dest_expr;
-		// We don't know the type before evaluating the expression,
-		// use "any" until then.
-		lhs->lhs_type = &t_any;
-	    }
-
-	    if (lhs->lhs_type->tt_member == NULL)
-		lhs->lhs_member_type = &t_any;
-	    else
-		lhs->lhs_member_type = lhs->lhs_type->tt_member;
+	    after = p;
 	}
+	if (after > var_start + lhs->lhs_varlen)
+	{
+	    lhs->lhs_varlen = after - var_start;
+	    lhs->lhs_dest = dest_expr;
+	    // We don't know the type before evaluating the expression,
+	    // use "any" until then.
+	    lhs->lhs_type = &t_any;
+	}
+
+	if (lhs->lhs_type->tt_member == NULL)
+	    lhs->lhs_member_type = &t_any;
 	else
-	{
-	    semsg("Not supported yet: %s", var_start);
-	    return FAIL;
-	}
+	    lhs->lhs_member_type = lhs->lhs_type->tt_member;
     }
     return OK;
 }