From be3dae4b05e53195b6988c26ae5368f02978e92a Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Sun, 21 May 2023 11:58:35 -0500 Subject: [PATCH] order catch all routes after non-catch all routes --- packages/router-macro/src/route_tree.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/router-macro/src/route_tree.rs b/packages/router-macro/src/route_tree.rs index 8edda2a37..3e91dc482 100644 --- a/packages/router-macro/src/route_tree.rs +++ b/packages/router-macro/src/route_tree.rs @@ -40,7 +40,13 @@ impl<'a> RouteTree<'a> { match seg { RouteTreeSegmentData::Static { .. } => 0, RouteTreeSegmentData::Layout { .. } => 1, - RouteTreeSegmentData::Route(_) => 1, + RouteTreeSegmentData::Route(route) => { + // Routes that end in a catch all segment should be checked last + match route.segments.last() { + Some(RouteSegment::CatchAll(..)) => 2, + _ => 1, + } + } } }); }