From 855444ec54d1a745c5c53375792957170244e7c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Tue, 24 Oct 2023 21:27:05 +0000 Subject: [PATCH 1/2] mv tests --- tests/ui/parser/{ => issues}/issue-100197-mut-let.fixed | 0 tests/ui/parser/{ => issues}/issue-100197-mut-let.rs | 0 tests/ui/parser/{ => issues}/issue-100197-mut-let.stderr | 0 tests/ui/parser/{ => issues}/issue-101477-enum.fixed | 0 tests/ui/parser/{ => issues}/issue-101477-enum.rs | 0 tests/ui/parser/{ => issues}/issue-101477-enum.stderr | 0 tests/ui/parser/{ => issues}/issue-101477-let.fixed | 0 tests/ui/parser/{ => issues}/issue-101477-let.rs | 0 tests/ui/parser/{ => issues}/issue-101477-let.stderr | 0 tests/ui/parser/{ => issues}/issue-102806.rs | 0 tests/ui/parser/{ => issues}/issue-102806.stderr | 0 tests/ui/parser/{ => issues}/issue-103143.rs | 0 tests/ui/parser/{ => issues}/issue-103143.stderr | 0 tests/ui/parser/{ => issues}/issue-103381.fixed | 0 tests/ui/parser/{ => issues}/issue-103381.rs | 0 tests/ui/parser/{ => issues}/issue-103381.stderr | 0 tests/ui/parser/{ => issues}/issue-103425.rs | 0 tests/ui/parser/{ => issues}/issue-103425.stderr | 0 tests/ui/parser/{ => issues}/issue-103451.rs | 0 tests/ui/parser/{ => issues}/issue-103451.stderr | 0 tests/ui/parser/{ => issues}/issue-103748-ICE-wrong-braces.rs | 0 tests/ui/parser/{ => issues}/issue-103748-ICE-wrong-braces.stderr | 0 tests/ui/parser/{ => issues}/issue-104620.rs | 0 tests/ui/parser/{ => issues}/issue-104620.stderr | 0 tests/ui/parser/{ => issues}/issue-104867-inc-dec-2.rs | 0 tests/ui/parser/{ => issues}/issue-104867-inc-dec-2.stderr | 0 tests/ui/parser/{ => issues}/issue-104867-inc-dec.rs | 0 tests/ui/parser/{ => issues}/issue-104867-inc-dec.stderr | 0 tests/ui/parser/{ => issues}/issue-105366.fixed | 0 tests/ui/parser/{ => issues}/issue-105366.rs | 0 tests/ui/parser/{ => issues}/issue-105366.stderr | 0 tests/ui/parser/{ => issues}/issue-105634.rs | 0 tests/ui/parser/{ => issues}/issue-107705.rs | 0 tests/ui/parser/{ => issues}/issue-107705.stderr | 0 tests/ui/parser/{ => issues}/issue-108495-dec.rs | 0 tests/ui/parser/{ => issues}/issue-108495-dec.stderr | 0 tests/ui/parser/{ => issues}/issue-112188.fixed | 0 tests/ui/parser/{ => issues}/issue-112188.rs | 0 tests/ui/parser/{ => issues}/issue-112188.stderr | 0 tests/ui/parser/{ => issues}/issue-113342.rs | 0 tests/ui/parser/{ => issues}/issue-113342.stderr | 0 tests/ui/parser/{ => issues}/issue-17718-parse-const.rs | 0 tests/ui/parser/{ => issues}/issue-39616.rs | 0 tests/ui/parser/{ => issues}/issue-39616.stderr | 0 tests/ui/parser/{ => issues}/issue-49257.rs | 0 tests/ui/parser/{ => issues}/issue-49257.stderr | 0 tests/ui/parser/{ => issues}/issue-61858.rs | 0 tests/ui/parser/{ => issues}/issue-61858.stderr | 0 .../ui/parser/{ => issues}/issue-68091-unicode-ident-after-if.rs | 0 .../parser/{ => issues}/issue-68091-unicode-ident-after-if.stderr | 0 .../issue-68092-unicode-ident-after-incomplete-expr.rs | 0 .../issue-68092-unicode-ident-after-incomplete-expr.stderr | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-1.rs | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-1.stderr | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-2.rs | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-2.stderr | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-3.rs | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-3.stderr | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue.rs | 0 tests/ui/parser/{ => issues}/issue-68987-unmatch-issue.stderr | 0 tests/ui/parser/{ => issues}/issue-81804.rs | 0 tests/ui/parser/{ => issues}/issue-81804.stderr | 0 tests/ui/parser/{ => issues}/issue-81827.rs | 0 tests/ui/parser/{ => issues}/issue-81827.stderr | 0 tests/ui/parser/{ => issues}/issue-87694-duplicated-pub.rs | 0 tests/ui/parser/{ => issues}/issue-87694-duplicated-pub.stderr | 0 tests/ui/parser/{ => issues}/issue-87694-misplaced-pub.rs | 0 tests/ui/parser/{ => issues}/issue-87694-misplaced-pub.stderr | 0 tests/ui/parser/{ => issues}/issue-90728.rs | 0 tests/ui/parser/{ => issues}/issue-90728.stderr | 0 tests/ui/parser/{ => issues}/issue-91421.rs | 0 tests/ui/parser/{ => issues}/issue-91421.stderr | 0 .../{ => issues}/issue-99625-enum-struct-mutually-exclusive.fixed | 0 .../{ => issues}/issue-99625-enum-struct-mutually-exclusive.rs | 0 .../issue-99625-enum-struct-mutually-exclusive.stderr | 0 .../{ => issues}/issue-99910-const-let-mutually-exclusive.fixed | 0 .../{ => issues}/issue-99910-const-let-mutually-exclusive.rs | 0 .../{ => issues}/issue-99910-const-let-mutually-exclusive.stderr | 0 78 files changed, 0 insertions(+), 0 deletions(-) rename tests/ui/parser/{ => issues}/issue-100197-mut-let.fixed (100%) rename tests/ui/parser/{ => issues}/issue-100197-mut-let.rs (100%) rename tests/ui/parser/{ => issues}/issue-100197-mut-let.stderr (100%) rename tests/ui/parser/{ => issues}/issue-101477-enum.fixed (100%) rename tests/ui/parser/{ => issues}/issue-101477-enum.rs (100%) rename tests/ui/parser/{ => issues}/issue-101477-enum.stderr (100%) rename tests/ui/parser/{ => issues}/issue-101477-let.fixed (100%) rename tests/ui/parser/{ => issues}/issue-101477-let.rs (100%) rename tests/ui/parser/{ => issues}/issue-101477-let.stderr (100%) rename tests/ui/parser/{ => issues}/issue-102806.rs (100%) rename tests/ui/parser/{ => issues}/issue-102806.stderr (100%) rename tests/ui/parser/{ => issues}/issue-103143.rs (100%) rename tests/ui/parser/{ => issues}/issue-103143.stderr (100%) rename tests/ui/parser/{ => issues}/issue-103381.fixed (100%) rename tests/ui/parser/{ => issues}/issue-103381.rs (100%) rename tests/ui/parser/{ => issues}/issue-103381.stderr (100%) rename tests/ui/parser/{ => issues}/issue-103425.rs (100%) rename tests/ui/parser/{ => issues}/issue-103425.stderr (100%) rename tests/ui/parser/{ => issues}/issue-103451.rs (100%) rename tests/ui/parser/{ => issues}/issue-103451.stderr (100%) rename tests/ui/parser/{ => issues}/issue-103748-ICE-wrong-braces.rs (100%) rename tests/ui/parser/{ => issues}/issue-103748-ICE-wrong-braces.stderr (100%) rename tests/ui/parser/{ => issues}/issue-104620.rs (100%) rename tests/ui/parser/{ => issues}/issue-104620.stderr (100%) rename tests/ui/parser/{ => issues}/issue-104867-inc-dec-2.rs (100%) rename tests/ui/parser/{ => issues}/issue-104867-inc-dec-2.stderr (100%) rename tests/ui/parser/{ => issues}/issue-104867-inc-dec.rs (100%) rename tests/ui/parser/{ => issues}/issue-104867-inc-dec.stderr (100%) rename tests/ui/parser/{ => issues}/issue-105366.fixed (100%) rename tests/ui/parser/{ => issues}/issue-105366.rs (100%) rename tests/ui/parser/{ => issues}/issue-105366.stderr (100%) rename tests/ui/parser/{ => issues}/issue-105634.rs (100%) rename tests/ui/parser/{ => issues}/issue-107705.rs (100%) rename tests/ui/parser/{ => issues}/issue-107705.stderr (100%) rename tests/ui/parser/{ => issues}/issue-108495-dec.rs (100%) rename tests/ui/parser/{ => issues}/issue-108495-dec.stderr (100%) rename tests/ui/parser/{ => issues}/issue-112188.fixed (100%) rename tests/ui/parser/{ => issues}/issue-112188.rs (100%) rename tests/ui/parser/{ => issues}/issue-112188.stderr (100%) rename tests/ui/parser/{ => issues}/issue-113342.rs (100%) rename tests/ui/parser/{ => issues}/issue-113342.stderr (100%) rename tests/ui/parser/{ => issues}/issue-17718-parse-const.rs (100%) rename tests/ui/parser/{ => issues}/issue-39616.rs (100%) rename tests/ui/parser/{ => issues}/issue-39616.stderr (100%) rename tests/ui/parser/{ => issues}/issue-49257.rs (100%) rename tests/ui/parser/{ => issues}/issue-49257.stderr (100%) rename tests/ui/parser/{ => issues}/issue-61858.rs (100%) rename tests/ui/parser/{ => issues}/issue-61858.stderr (100%) rename tests/ui/parser/{ => issues}/issue-68091-unicode-ident-after-if.rs (100%) rename tests/ui/parser/{ => issues}/issue-68091-unicode-ident-after-if.stderr (100%) rename tests/ui/parser/{ => issues}/issue-68092-unicode-ident-after-incomplete-expr.rs (100%) rename tests/ui/parser/{ => issues}/issue-68092-unicode-ident-after-incomplete-expr.stderr (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-1.rs (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-1.stderr (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-2.rs (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-2.stderr (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-3.rs (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue-3.stderr (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue.rs (100%) rename tests/ui/parser/{ => issues}/issue-68987-unmatch-issue.stderr (100%) rename tests/ui/parser/{ => issues}/issue-81804.rs (100%) rename tests/ui/parser/{ => issues}/issue-81804.stderr (100%) rename tests/ui/parser/{ => issues}/issue-81827.rs (100%) rename tests/ui/parser/{ => issues}/issue-81827.stderr (100%) rename tests/ui/parser/{ => issues}/issue-87694-duplicated-pub.rs (100%) rename tests/ui/parser/{ => issues}/issue-87694-duplicated-pub.stderr (100%) rename tests/ui/parser/{ => issues}/issue-87694-misplaced-pub.rs (100%) rename tests/ui/parser/{ => issues}/issue-87694-misplaced-pub.stderr (100%) rename tests/ui/parser/{ => issues}/issue-90728.rs (100%) rename tests/ui/parser/{ => issues}/issue-90728.stderr (100%) rename tests/ui/parser/{ => issues}/issue-91421.rs (100%) rename tests/ui/parser/{ => issues}/issue-91421.stderr (100%) rename tests/ui/parser/{ => issues}/issue-99625-enum-struct-mutually-exclusive.fixed (100%) rename tests/ui/parser/{ => issues}/issue-99625-enum-struct-mutually-exclusive.rs (100%) rename tests/ui/parser/{ => issues}/issue-99625-enum-struct-mutually-exclusive.stderr (100%) rename tests/ui/parser/{ => issues}/issue-99910-const-let-mutually-exclusive.fixed (100%) rename tests/ui/parser/{ => issues}/issue-99910-const-let-mutually-exclusive.rs (100%) rename tests/ui/parser/{ => issues}/issue-99910-const-let-mutually-exclusive.stderr (100%) diff --git a/tests/ui/parser/issue-100197-mut-let.fixed b/tests/ui/parser/issues/issue-100197-mut-let.fixed similarity index 100% rename from tests/ui/parser/issue-100197-mut-let.fixed rename to tests/ui/parser/issues/issue-100197-mut-let.fixed diff --git a/tests/ui/parser/issue-100197-mut-let.rs b/tests/ui/parser/issues/issue-100197-mut-let.rs similarity index 100% rename from tests/ui/parser/issue-100197-mut-let.rs rename to tests/ui/parser/issues/issue-100197-mut-let.rs diff --git a/tests/ui/parser/issue-100197-mut-let.stderr b/tests/ui/parser/issues/issue-100197-mut-let.stderr similarity index 100% rename from tests/ui/parser/issue-100197-mut-let.stderr rename to tests/ui/parser/issues/issue-100197-mut-let.stderr diff --git a/tests/ui/parser/issue-101477-enum.fixed b/tests/ui/parser/issues/issue-101477-enum.fixed similarity index 100% rename from tests/ui/parser/issue-101477-enum.fixed rename to tests/ui/parser/issues/issue-101477-enum.fixed diff --git a/tests/ui/parser/issue-101477-enum.rs b/tests/ui/parser/issues/issue-101477-enum.rs similarity index 100% rename from tests/ui/parser/issue-101477-enum.rs rename to tests/ui/parser/issues/issue-101477-enum.rs diff --git a/tests/ui/parser/issue-101477-enum.stderr b/tests/ui/parser/issues/issue-101477-enum.stderr similarity index 100% rename from tests/ui/parser/issue-101477-enum.stderr rename to tests/ui/parser/issues/issue-101477-enum.stderr diff --git a/tests/ui/parser/issue-101477-let.fixed b/tests/ui/parser/issues/issue-101477-let.fixed similarity index 100% rename from tests/ui/parser/issue-101477-let.fixed rename to tests/ui/parser/issues/issue-101477-let.fixed diff --git a/tests/ui/parser/issue-101477-let.rs b/tests/ui/parser/issues/issue-101477-let.rs similarity index 100% rename from tests/ui/parser/issue-101477-let.rs rename to tests/ui/parser/issues/issue-101477-let.rs diff --git a/tests/ui/parser/issue-101477-let.stderr b/tests/ui/parser/issues/issue-101477-let.stderr similarity index 100% rename from tests/ui/parser/issue-101477-let.stderr rename to tests/ui/parser/issues/issue-101477-let.stderr diff --git a/tests/ui/parser/issue-102806.rs b/tests/ui/parser/issues/issue-102806.rs similarity index 100% rename from tests/ui/parser/issue-102806.rs rename to tests/ui/parser/issues/issue-102806.rs diff --git a/tests/ui/parser/issue-102806.stderr b/tests/ui/parser/issues/issue-102806.stderr similarity index 100% rename from tests/ui/parser/issue-102806.stderr rename to tests/ui/parser/issues/issue-102806.stderr diff --git a/tests/ui/parser/issue-103143.rs b/tests/ui/parser/issues/issue-103143.rs similarity index 100% rename from tests/ui/parser/issue-103143.rs rename to tests/ui/parser/issues/issue-103143.rs diff --git a/tests/ui/parser/issue-103143.stderr b/tests/ui/parser/issues/issue-103143.stderr similarity index 100% rename from tests/ui/parser/issue-103143.stderr rename to tests/ui/parser/issues/issue-103143.stderr diff --git a/tests/ui/parser/issue-103381.fixed b/tests/ui/parser/issues/issue-103381.fixed similarity index 100% rename from tests/ui/parser/issue-103381.fixed rename to tests/ui/parser/issues/issue-103381.fixed diff --git a/tests/ui/parser/issue-103381.rs b/tests/ui/parser/issues/issue-103381.rs similarity index 100% rename from tests/ui/parser/issue-103381.rs rename to tests/ui/parser/issues/issue-103381.rs diff --git a/tests/ui/parser/issue-103381.stderr b/tests/ui/parser/issues/issue-103381.stderr similarity index 100% rename from tests/ui/parser/issue-103381.stderr rename to tests/ui/parser/issues/issue-103381.stderr diff --git a/tests/ui/parser/issue-103425.rs b/tests/ui/parser/issues/issue-103425.rs similarity index 100% rename from tests/ui/parser/issue-103425.rs rename to tests/ui/parser/issues/issue-103425.rs diff --git a/tests/ui/parser/issue-103425.stderr b/tests/ui/parser/issues/issue-103425.stderr similarity index 100% rename from tests/ui/parser/issue-103425.stderr rename to tests/ui/parser/issues/issue-103425.stderr diff --git a/tests/ui/parser/issue-103451.rs b/tests/ui/parser/issues/issue-103451.rs similarity index 100% rename from tests/ui/parser/issue-103451.rs rename to tests/ui/parser/issues/issue-103451.rs diff --git a/tests/ui/parser/issue-103451.stderr b/tests/ui/parser/issues/issue-103451.stderr similarity index 100% rename from tests/ui/parser/issue-103451.stderr rename to tests/ui/parser/issues/issue-103451.stderr diff --git a/tests/ui/parser/issue-103748-ICE-wrong-braces.rs b/tests/ui/parser/issues/issue-103748-ICE-wrong-braces.rs similarity index 100% rename from tests/ui/parser/issue-103748-ICE-wrong-braces.rs rename to tests/ui/parser/issues/issue-103748-ICE-wrong-braces.rs diff --git a/tests/ui/parser/issue-103748-ICE-wrong-braces.stderr b/tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr similarity index 100% rename from tests/ui/parser/issue-103748-ICE-wrong-braces.stderr rename to tests/ui/parser/issues/issue-103748-ICE-wrong-braces.stderr diff --git a/tests/ui/parser/issue-104620.rs b/tests/ui/parser/issues/issue-104620.rs similarity index 100% rename from tests/ui/parser/issue-104620.rs rename to tests/ui/parser/issues/issue-104620.rs diff --git a/tests/ui/parser/issue-104620.stderr b/tests/ui/parser/issues/issue-104620.stderr similarity index 100% rename from tests/ui/parser/issue-104620.stderr rename to tests/ui/parser/issues/issue-104620.stderr diff --git a/tests/ui/parser/issue-104867-inc-dec-2.rs b/tests/ui/parser/issues/issue-104867-inc-dec-2.rs similarity index 100% rename from tests/ui/parser/issue-104867-inc-dec-2.rs rename to tests/ui/parser/issues/issue-104867-inc-dec-2.rs diff --git a/tests/ui/parser/issue-104867-inc-dec-2.stderr b/tests/ui/parser/issues/issue-104867-inc-dec-2.stderr similarity index 100% rename from tests/ui/parser/issue-104867-inc-dec-2.stderr rename to tests/ui/parser/issues/issue-104867-inc-dec-2.stderr diff --git a/tests/ui/parser/issue-104867-inc-dec.rs b/tests/ui/parser/issues/issue-104867-inc-dec.rs similarity index 100% rename from tests/ui/parser/issue-104867-inc-dec.rs rename to tests/ui/parser/issues/issue-104867-inc-dec.rs diff --git a/tests/ui/parser/issue-104867-inc-dec.stderr b/tests/ui/parser/issues/issue-104867-inc-dec.stderr similarity index 100% rename from tests/ui/parser/issue-104867-inc-dec.stderr rename to tests/ui/parser/issues/issue-104867-inc-dec.stderr diff --git a/tests/ui/parser/issue-105366.fixed b/tests/ui/parser/issues/issue-105366.fixed similarity index 100% rename from tests/ui/parser/issue-105366.fixed rename to tests/ui/parser/issues/issue-105366.fixed diff --git a/tests/ui/parser/issue-105366.rs b/tests/ui/parser/issues/issue-105366.rs similarity index 100% rename from tests/ui/parser/issue-105366.rs rename to tests/ui/parser/issues/issue-105366.rs diff --git a/tests/ui/parser/issue-105366.stderr b/tests/ui/parser/issues/issue-105366.stderr similarity index 100% rename from tests/ui/parser/issue-105366.stderr rename to tests/ui/parser/issues/issue-105366.stderr diff --git a/tests/ui/parser/issue-105634.rs b/tests/ui/parser/issues/issue-105634.rs similarity index 100% rename from tests/ui/parser/issue-105634.rs rename to tests/ui/parser/issues/issue-105634.rs diff --git a/tests/ui/parser/issue-107705.rs b/tests/ui/parser/issues/issue-107705.rs similarity index 100% rename from tests/ui/parser/issue-107705.rs rename to tests/ui/parser/issues/issue-107705.rs diff --git a/tests/ui/parser/issue-107705.stderr b/tests/ui/parser/issues/issue-107705.stderr similarity index 100% rename from tests/ui/parser/issue-107705.stderr rename to tests/ui/parser/issues/issue-107705.stderr diff --git a/tests/ui/parser/issue-108495-dec.rs b/tests/ui/parser/issues/issue-108495-dec.rs similarity index 100% rename from tests/ui/parser/issue-108495-dec.rs rename to tests/ui/parser/issues/issue-108495-dec.rs diff --git a/tests/ui/parser/issue-108495-dec.stderr b/tests/ui/parser/issues/issue-108495-dec.stderr similarity index 100% rename from tests/ui/parser/issue-108495-dec.stderr rename to tests/ui/parser/issues/issue-108495-dec.stderr diff --git a/tests/ui/parser/issue-112188.fixed b/tests/ui/parser/issues/issue-112188.fixed similarity index 100% rename from tests/ui/parser/issue-112188.fixed rename to tests/ui/parser/issues/issue-112188.fixed diff --git a/tests/ui/parser/issue-112188.rs b/tests/ui/parser/issues/issue-112188.rs similarity index 100% rename from tests/ui/parser/issue-112188.rs rename to tests/ui/parser/issues/issue-112188.rs diff --git a/tests/ui/parser/issue-112188.stderr b/tests/ui/parser/issues/issue-112188.stderr similarity index 100% rename from tests/ui/parser/issue-112188.stderr rename to tests/ui/parser/issues/issue-112188.stderr diff --git a/tests/ui/parser/issue-113342.rs b/tests/ui/parser/issues/issue-113342.rs similarity index 100% rename from tests/ui/parser/issue-113342.rs rename to tests/ui/parser/issues/issue-113342.rs diff --git a/tests/ui/parser/issue-113342.stderr b/tests/ui/parser/issues/issue-113342.stderr similarity index 100% rename from tests/ui/parser/issue-113342.stderr rename to tests/ui/parser/issues/issue-113342.stderr diff --git a/tests/ui/parser/issue-17718-parse-const.rs b/tests/ui/parser/issues/issue-17718-parse-const.rs similarity index 100% rename from tests/ui/parser/issue-17718-parse-const.rs rename to tests/ui/parser/issues/issue-17718-parse-const.rs diff --git a/tests/ui/parser/issue-39616.rs b/tests/ui/parser/issues/issue-39616.rs similarity index 100% rename from tests/ui/parser/issue-39616.rs rename to tests/ui/parser/issues/issue-39616.rs diff --git a/tests/ui/parser/issue-39616.stderr b/tests/ui/parser/issues/issue-39616.stderr similarity index 100% rename from tests/ui/parser/issue-39616.stderr rename to tests/ui/parser/issues/issue-39616.stderr diff --git a/tests/ui/parser/issue-49257.rs b/tests/ui/parser/issues/issue-49257.rs similarity index 100% rename from tests/ui/parser/issue-49257.rs rename to tests/ui/parser/issues/issue-49257.rs diff --git a/tests/ui/parser/issue-49257.stderr b/tests/ui/parser/issues/issue-49257.stderr similarity index 100% rename from tests/ui/parser/issue-49257.stderr rename to tests/ui/parser/issues/issue-49257.stderr diff --git a/tests/ui/parser/issue-61858.rs b/tests/ui/parser/issues/issue-61858.rs similarity index 100% rename from tests/ui/parser/issue-61858.rs rename to tests/ui/parser/issues/issue-61858.rs diff --git a/tests/ui/parser/issue-61858.stderr b/tests/ui/parser/issues/issue-61858.stderr similarity index 100% rename from tests/ui/parser/issue-61858.stderr rename to tests/ui/parser/issues/issue-61858.stderr diff --git a/tests/ui/parser/issue-68091-unicode-ident-after-if.rs b/tests/ui/parser/issues/issue-68091-unicode-ident-after-if.rs similarity index 100% rename from tests/ui/parser/issue-68091-unicode-ident-after-if.rs rename to tests/ui/parser/issues/issue-68091-unicode-ident-after-if.rs diff --git a/tests/ui/parser/issue-68091-unicode-ident-after-if.stderr b/tests/ui/parser/issues/issue-68091-unicode-ident-after-if.stderr similarity index 100% rename from tests/ui/parser/issue-68091-unicode-ident-after-if.stderr rename to tests/ui/parser/issues/issue-68091-unicode-ident-after-if.stderr diff --git a/tests/ui/parser/issue-68092-unicode-ident-after-incomplete-expr.rs b/tests/ui/parser/issues/issue-68092-unicode-ident-after-incomplete-expr.rs similarity index 100% rename from tests/ui/parser/issue-68092-unicode-ident-after-incomplete-expr.rs rename to tests/ui/parser/issues/issue-68092-unicode-ident-after-incomplete-expr.rs diff --git a/tests/ui/parser/issue-68092-unicode-ident-after-incomplete-expr.stderr b/tests/ui/parser/issues/issue-68092-unicode-ident-after-incomplete-expr.stderr similarity index 100% rename from tests/ui/parser/issue-68092-unicode-ident-after-incomplete-expr.stderr rename to tests/ui/parser/issues/issue-68092-unicode-ident-after-incomplete-expr.stderr diff --git a/tests/ui/parser/issue-68987-unmatch-issue-1.rs b/tests/ui/parser/issues/issue-68987-unmatch-issue-1.rs similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue-1.rs rename to tests/ui/parser/issues/issue-68987-unmatch-issue-1.rs diff --git a/tests/ui/parser/issue-68987-unmatch-issue-1.stderr b/tests/ui/parser/issues/issue-68987-unmatch-issue-1.stderr similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue-1.stderr rename to tests/ui/parser/issues/issue-68987-unmatch-issue-1.stderr diff --git a/tests/ui/parser/issue-68987-unmatch-issue-2.rs b/tests/ui/parser/issues/issue-68987-unmatch-issue-2.rs similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue-2.rs rename to tests/ui/parser/issues/issue-68987-unmatch-issue-2.rs diff --git a/tests/ui/parser/issue-68987-unmatch-issue-2.stderr b/tests/ui/parser/issues/issue-68987-unmatch-issue-2.stderr similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue-2.stderr rename to tests/ui/parser/issues/issue-68987-unmatch-issue-2.stderr diff --git a/tests/ui/parser/issue-68987-unmatch-issue-3.rs b/tests/ui/parser/issues/issue-68987-unmatch-issue-3.rs similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue-3.rs rename to tests/ui/parser/issues/issue-68987-unmatch-issue-3.rs diff --git a/tests/ui/parser/issue-68987-unmatch-issue-3.stderr b/tests/ui/parser/issues/issue-68987-unmatch-issue-3.stderr similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue-3.stderr rename to tests/ui/parser/issues/issue-68987-unmatch-issue-3.stderr diff --git a/tests/ui/parser/issue-68987-unmatch-issue.rs b/tests/ui/parser/issues/issue-68987-unmatch-issue.rs similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue.rs rename to tests/ui/parser/issues/issue-68987-unmatch-issue.rs diff --git a/tests/ui/parser/issue-68987-unmatch-issue.stderr b/tests/ui/parser/issues/issue-68987-unmatch-issue.stderr similarity index 100% rename from tests/ui/parser/issue-68987-unmatch-issue.stderr rename to tests/ui/parser/issues/issue-68987-unmatch-issue.stderr diff --git a/tests/ui/parser/issue-81804.rs b/tests/ui/parser/issues/issue-81804.rs similarity index 100% rename from tests/ui/parser/issue-81804.rs rename to tests/ui/parser/issues/issue-81804.rs diff --git a/tests/ui/parser/issue-81804.stderr b/tests/ui/parser/issues/issue-81804.stderr similarity index 100% rename from tests/ui/parser/issue-81804.stderr rename to tests/ui/parser/issues/issue-81804.stderr diff --git a/tests/ui/parser/issue-81827.rs b/tests/ui/parser/issues/issue-81827.rs similarity index 100% rename from tests/ui/parser/issue-81827.rs rename to tests/ui/parser/issues/issue-81827.rs diff --git a/tests/ui/parser/issue-81827.stderr b/tests/ui/parser/issues/issue-81827.stderr similarity index 100% rename from tests/ui/parser/issue-81827.stderr rename to tests/ui/parser/issues/issue-81827.stderr diff --git a/tests/ui/parser/issue-87694-duplicated-pub.rs b/tests/ui/parser/issues/issue-87694-duplicated-pub.rs similarity index 100% rename from tests/ui/parser/issue-87694-duplicated-pub.rs rename to tests/ui/parser/issues/issue-87694-duplicated-pub.rs diff --git a/tests/ui/parser/issue-87694-duplicated-pub.stderr b/tests/ui/parser/issues/issue-87694-duplicated-pub.stderr similarity index 100% rename from tests/ui/parser/issue-87694-duplicated-pub.stderr rename to tests/ui/parser/issues/issue-87694-duplicated-pub.stderr diff --git a/tests/ui/parser/issue-87694-misplaced-pub.rs b/tests/ui/parser/issues/issue-87694-misplaced-pub.rs similarity index 100% rename from tests/ui/parser/issue-87694-misplaced-pub.rs rename to tests/ui/parser/issues/issue-87694-misplaced-pub.rs diff --git a/tests/ui/parser/issue-87694-misplaced-pub.stderr b/tests/ui/parser/issues/issue-87694-misplaced-pub.stderr similarity index 100% rename from tests/ui/parser/issue-87694-misplaced-pub.stderr rename to tests/ui/parser/issues/issue-87694-misplaced-pub.stderr diff --git a/tests/ui/parser/issue-90728.rs b/tests/ui/parser/issues/issue-90728.rs similarity index 100% rename from tests/ui/parser/issue-90728.rs rename to tests/ui/parser/issues/issue-90728.rs diff --git a/tests/ui/parser/issue-90728.stderr b/tests/ui/parser/issues/issue-90728.stderr similarity index 100% rename from tests/ui/parser/issue-90728.stderr rename to tests/ui/parser/issues/issue-90728.stderr diff --git a/tests/ui/parser/issue-91421.rs b/tests/ui/parser/issues/issue-91421.rs similarity index 100% rename from tests/ui/parser/issue-91421.rs rename to tests/ui/parser/issues/issue-91421.rs diff --git a/tests/ui/parser/issue-91421.stderr b/tests/ui/parser/issues/issue-91421.stderr similarity index 100% rename from tests/ui/parser/issue-91421.stderr rename to tests/ui/parser/issues/issue-91421.stderr diff --git a/tests/ui/parser/issue-99625-enum-struct-mutually-exclusive.fixed b/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.fixed similarity index 100% rename from tests/ui/parser/issue-99625-enum-struct-mutually-exclusive.fixed rename to tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.fixed diff --git a/tests/ui/parser/issue-99625-enum-struct-mutually-exclusive.rs b/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.rs similarity index 100% rename from tests/ui/parser/issue-99625-enum-struct-mutually-exclusive.rs rename to tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.rs diff --git a/tests/ui/parser/issue-99625-enum-struct-mutually-exclusive.stderr b/tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr similarity index 100% rename from tests/ui/parser/issue-99625-enum-struct-mutually-exclusive.stderr rename to tests/ui/parser/issues/issue-99625-enum-struct-mutually-exclusive.stderr diff --git a/tests/ui/parser/issue-99910-const-let-mutually-exclusive.fixed b/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.fixed similarity index 100% rename from tests/ui/parser/issue-99910-const-let-mutually-exclusive.fixed rename to tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.fixed diff --git a/tests/ui/parser/issue-99910-const-let-mutually-exclusive.rs b/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.rs similarity index 100% rename from tests/ui/parser/issue-99910-const-let-mutually-exclusive.rs rename to tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.rs diff --git a/tests/ui/parser/issue-99910-const-let-mutually-exclusive.stderr b/tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr similarity index 100% rename from tests/ui/parser/issue-99910-const-let-mutually-exclusive.stderr rename to tests/ui/parser/issues/issue-99910-const-let-mutually-exclusive.stderr From 54dffa1441e08dc3e4bf23c811f86268f309d42d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Tue, 24 Oct 2023 22:22:52 +0000 Subject: [PATCH 2/2] Avoid unbounded O(n^2) when parsing nested type args When encountering code like `f:: { /// appropriately. /// /// See the comments in the `parse_path_segment` function for more details. - unmatched_angle_bracket_count: u32, - max_angle_bracket_count: u32, + unmatched_angle_bracket_count: u16, + max_angle_bracket_count: u16, + angle_bracket_nesting: u16, last_unexpected_token_span: Option, /// If present, this `Parser` is not parsing Rust code but rather a macro call. @@ -394,6 +395,7 @@ impl<'a> Parser<'a> { break_last_token: false, unmatched_angle_bracket_count: 0, max_angle_bracket_count: 0, + angle_bracket_nesting: 0, last_unexpected_token_span: None, subparser_name, capture_state: CaptureState { diff --git a/compiler/rustc_parse/src/parser/path.rs b/compiler/rustc_parse/src/parser/path.rs index 2fcb9a78cfd4b..b00d5220b34ee 100644 --- a/compiler/rustc_parse/src/parser/path.rs +++ b/compiler/rustc_parse/src/parser/path.rs @@ -487,10 +487,24 @@ impl<'a> Parser<'a> { // Take a snapshot before attempting to parse - we can restore this later. let snapshot = is_first_invocation.then(|| self.clone()); + self.angle_bracket_nesting += 1; debug!("parse_generic_args_with_leading_angle_bracket_recovery: (snapshotting)"); match self.parse_angle_args(ty_generics) { - Ok(args) => Ok(args), + Ok(args) => { + self.angle_bracket_nesting -= 1; + Ok(args) + } + Err(mut e) if self.angle_bracket_nesting > 10 => { + self.angle_bracket_nesting -= 1; + // When encountering severly malformed code where there are several levels of + // nested unclosed angle args (`f:: 0 => { + self.angle_bracket_nesting -= 1; + // Swap `self` with our backup of the parser state before attempting to parse // generic arguments. let snapshot = mem::replace(self, snapshot.unwrap()); @@ -520,8 +534,8 @@ impl<'a> Parser<'a> { // Make a span over ${unmatched angle bracket count} characters. // This is safe because `all_angle_brackets` ensures that there are only `<`s, // i.e. no multibyte characters, in this range. - let span = - lo.with_hi(lo.lo() + BytePos(snapshot.unmatched_angle_bracket_count)); + let span = lo + .with_hi(lo.lo() + BytePos(snapshot.unmatched_angle_bracket_count.into())); self.sess.emit_err(errors::UnmatchedAngle { span, plural: snapshot.unmatched_angle_bracket_count > 1, @@ -531,7 +545,10 @@ impl<'a> Parser<'a> { self.parse_angle_args(ty_generics) } } - Err(e) => Err(e), + Err(e) => { + self.angle_bracket_nesting -= 1; + Err(e) + } } } diff --git a/tests/ui/parser/deep-unmatched-angle-brackets.rs b/tests/ui/parser/deep-unmatched-angle-brackets.rs new file mode 100644 index 0000000000000..8ef74ec267738 --- /dev/null +++ b/tests/ui/parser/deep-unmatched-angle-brackets.rs @@ -0,0 +1,13 @@ +trait Mul { + type Output; +} +trait Matrix: Mul<::Row, Output = ()> { + type Row; + type Transpose: Matrix; +} +fn is_mul>() {} +fn f() { + is_mul::(); + //~^ ERROR expected one of `!`, `+`, `,`, `::`, or `>`, found `(` +} +fn main() {} diff --git a/tests/ui/parser/deep-unmatched-angle-brackets.stderr b/tests/ui/parser/deep-unmatched-angle-brackets.stderr new file mode 100644 index 0000000000000..9793cc6b99bdf --- /dev/null +++ b/tests/ui/parser/deep-unmatched-angle-brackets.stderr @@ -0,0 +1,13 @@ +error: expected one of `!`, `+`, `,`, `::`, or `>`, found `(` + --> $DIR/deep-unmatched-angle-brackets.rs:10:415 + | +LL | ...::(); + | ^ expected one of `!`, `+`, `,`, `::`, or `>` + | +help: you might have meant to end the type parameters here + | +LL | is_mul::>(); + | + + +error: aborting due to previous error +