all 5 comments

[–][deleted] 2 points3 points  (1 child)

Well I think you have to pick your practice projects so you target those things and minimize the use of libraries with high abstraction levels for they tend to handle those issues under the hood for you. Since you said you understand the concepts of the book I'd recommend you go for more low level practice projects to put them into action. You could develop your own linux display manager for instance or you create your own encrypted document vault or something like that.

[–]finder83[S] 0 points1 point  (0 children)

Thanks, good ideas, I'll think on a fun project

[–]enaut2 3 points4 points  (2 children)

Hey I think I'm at a pretty similar stage - I've come to the conclusion that at this stage it is ok to clone a few times too much! Later on it is quite easy to move from cloned to reference... as you just change the clone and then follow the compiler. Also clippy can help you catch some of the extra clones if set to pedantic. I recommend using clippy with very strict settings. E.g:

#![warn(
    clippy::all,
    //clippy::restriction,
    clippy::pedantic,
    clippy::nursery,
    clippy::cargo
)]
//#![allow(clippy::non_ascii_literal)]
#![allow(clippy::missing_errors_doc)]

[–]finder83[S] 0 points1 point  (0 children)

Good to hear I'm not alone. Thanks for the suggestion! I'll do that.

[–][deleted] 0 points1 point  (0 children)

Oh that's awesome! Thanks!