Include!("my_crate.rs"); vs extern crate my_crate;

It's a priceless quote. First, as I started using include!, I hit a situation when a compilation error happens in an included file, and the file is outside of the project tree, I can't open the file in my IDE. Okay, I modified IDE to be able to open it, but still I couldn't edit the file, because it isn't a part of the current project. I have to create other project, but IDE doesn't give a possibility transparently switch between projects. So using include! gives a lot pain. However, I disagree with:

because keeping doc in a separate file is a bad idea, since you need to keep both files in sync and it's hardly possible.

Regarding second use case, I already use it, and there I agree completely.