org: ponylang

repo: ponyc

fix_patch:
diff --git a/src/libponyc/ast/parser.c b/src/libponyc/ast/parser.c
index 9852922f..2c37d6b8 100644
--- a/src/libponyc/ast/parser.c
+++ b/src/libponyc/ast/parser.c
@@ -693,6 +693,7 @@ DEF(idseqsingle);
   AST_NODE(TK_LET);
   TOKEN("variable name", TK_ID);
   AST_NODE(TK_NONE);  // Type
+  SET_FLAG(AST_FLAG_IN_PARENS);
   DONE();

 // idseq


fix_patch:
diff --git a/packages/cli/command_parser.pony b/packages/cli/command_parser.pony
index a5acce8e..fa97808b 100644
--- a/packages/cli/command_parser.pony
+++ b/packages/cli/command_parser.pony
@@ -100,6 +100,7 @@ class CommandParser
             | let cs: CommandSpec box =>
               return CommandParser._sub(cs, this).
                 _parse_command(tokens, options, args, envsmap, opt_stop)
+// Correctly handle parent default options
             end
           else
             return SyntaxError(token, "unknown command")


fix_patch:
diff --git a/src/libponyc/expr/match.c b/src/libponyc/expr/match.c
index 7d16066f..c2ec7056 100644
--- a/src/libponyc/expr/match.c
+++ b/src/libponyc/expr/match.c
@@ -314,8 +314,10 @@ static ast_t* make_pattern_type(pass_opt_t* opt, ast_t* pattern)
     case TK_DONTCAREREF:
     case TK_MATCH_CAPTURE:
     case TK_MATCH_DONTCARE:
+      if (ast_id(pattern_type) == TK_ISO) pattern_type = set_cap_and_ephemeral(pattern_type, TK_TRN, TK_EPHEMERAL);
       return pattern_type;

+
     case TK_TUPLE:
     {
       ast_t* pattern_child = ast_child(pattern);