I was working on the ncollide project (after a fresh git clone) and noticed that it has several subfolder cargo projects which the main project has as dependencies. The problem is that because cargo has subproject dependencies like "ncollide_pipepline" defined as ncollide_pipeline = "*", it always reads the project as seen on the master branch (and ignores my local changes). I have to manually set each dependency such as ncollide_pipline = { path="/path/to/local/dir/" } for it to read my local code changes to that project subfolder. It seems to me that cargo should be looking in the project subfolders for any Cargo.toml whose package name matches the dependency first and then look in the repository only if it was not found.
This seems problematic because I would not want to accidentally commit a local path by accident. It also requires me to modify the project every time I want to modify it locally. Am I using cargo wrong or does this seem like a bug?