I was wondering, what is difference between, for example #[derive(Debug)] attribute and implementing std::fmt::Debug trait for some struct by myself(or any other trait that can be added with derive attribute), assuming that my implementation is efficient? Will there be compile time difference? performance difference?
When should I use derive attribute and when should I implement traits by myself?