This is an automated archive made by the Lemmit Bot.

The original was posted on /r/opensource by /u/TheSaasDev on 2023-08-30 10:24:15.


After getting unreasonably upset about creating and managing .gitignore files in different projects, I decided now would be a good time to learn to build something with Rust.

So I built gitnr, a CLI utility for generating .gitignore files with your own templates or from the TopTal and GitHub ignore template collections (which you can search interactively).

Before this, I only played around with Rust, so this was quite the learning experience. Some general thoughts about Rust as a language:

  • Awesome language features and type system. match should be in every language
  • Enums and structs are refreshing compared to using classes and encapsulating state in functions
  • Re-declaring variables within the same scope is a lovely touch
  • The borrow checker and I went to war, probably to the extent where I used Arc, Mutex and clone more than necessary
  • I wish there was a garbage collected version of Rust. Writing it would be so much easier. The tradeoff would be worse performance but honestly, the overhead of garbage collection is insignificant for so many use-cases

Hope this is actually useful to at least one person and isn’t just one of my coding rants after being annoyed about something trivial 😅

Any feedback is appreciated!