Monthly review: February

, 2 min read

Sponsors

I'm incredibly thankful to the following people for sponsoring my open source work this past month: @repi, @oli-obk and @yaahc.

If you like what I'm doing and want to support my work, please consider sponsoring me on Patreon or via other means 💙

What I've worked on

February has been quite a non-productive month from the outside. Maybe it's the winter blues finally catching up to me, but that's for the next section of the post.

It indeed doesn't look like a lot in terms of merged PRs this month. The only merged PR is to the rustc-guide where I've added an introductory section to the Name Resolution chapter.

I've been learning about name resolution in rustc because I've been looking into making some improvements to a rustc diagnostic that is emitted exactly during name resolution. So that instead of this:

12 |  let _ = HashNap::new();
   |          ^^^^^^^
   |          |
   |          use of undeclared type or module `HashNap`

You will get an additional suggestion of the most likely alternative:

12 |  let _ = HashNap::new();
   |          ^^^^^^^
   |          |
   |          use of undeclared type or module `HashNap`
   |          help: a struct with a similar name exists: `HashMap`

This PR has taken most of my time and energy in February. I want to finish it this month and continue with work around name resolution.

Reflections

I did not get further into embedded development as I ran into issues with my tools, which I was hoping to avoid by jumping into embedded development.

Instead of doing more embedded development, I've started looking into librustc_resolve. Specifically a PR to improve some diagnostics as mentioned above. This PR has apparently triggered some sort of impostor feeling in me. While working on this PR I noticed two things:

  1. In the beginning I had absolutely no idea what librustc_resolve is about, lowering my confidence in completing this PR
  2. My low confidence in completing the PR also produced feelings of guilt when asking otherwise busy contributors for help

In the future I hope this feeling will go away as I dig further into rustc. Until then, I plan to 'just' push through these feelings, keeping my main goal in the back of my head: Making diagnostics and lints better for rust users.

Goals

For this March I have the following goals:

  • Finishing up the mentioned PR
  • Further improving the name resolution chapter of the rustc-guide
  • Potentially do more work around librustc_resolve diagnostics

avatar

Philipp Hansch

Full Stack Developer

Philipp is a full stack developer currently heavily involved with Rust. Most notably he's a member of the Clippy team where he helps with bugfixing and documentation. You can follow him on Twitter and find him on GitHub as well as Patreon.