pub struct DynamicSegmentNameConflict {
pub path: PathBuf,
pub position: String,
pub conflicting_segments: Vec<String>,
pub conflicting_paths: Vec<PathBuf>,
pub line: u32,
pub col: u32,
}Expand description
Two or more sibling dynamic route segments at the SAME App Router tree
position using different param spellings ([id] vs [slug], or [...x]
vs [[...x]]). Next.js throws “You cannot use different slug names for the
same dynamic path” at dev / production RUNTIME when the position is hit;
next build does NOT catch it, so fallow’s static catch surfaces a route
that would otherwise pass CI and crash at request time. One finding is
emitted per involved file.
Fields§
§path: PathBufThis route file living under one of the conflicting dynamic segments.
position: StringThe tree position (parent URL after group/slot normalization) where the
dynamic segments conflict, e.g. /shop for /shop/[id] vs
/shop/[slug]. The app-root prefix is stripped.
conflicting_segments: Vec<String>The distinct conflicting dynamic-segment spellings at this position, as
written (e.g. ["[id]", "[slug]"]). Sorted for stable output.
conflicting_paths: Vec<PathBuf>The other route files at the same position under a conflicting dynamic segment. Path-sorted for stable output / fingerprints.
line: u321-based line number (file-level finding, always 1).
col: u320-based byte column offset (file-level finding, always 0).