Auto merge of #17381 - roife:fix-issue-17378, r=Veykril fix: ensure that the parent of a SourceRoot cannot be itself fix #17378. In `FileSetConfig.map`, different roots might be mapped to the same `root_id` due to deduplication in `ProjectFolders::new`: ```rust // Example from rustup /Users/roife/code/rustup/target/debug/build/rustup-863a063426b56c51/out /Users/roife/code/rustup ``` In `source_root_parent_map`, r-a might encounter paths where their SourceRootId (i.e. `root_id`) is identical, yet one the them is the parent of the another. This situation can cause the `root_id` to be its own parent, potentially leading to an infinite loop. This PR resolves such cases by adding a check.