Rust 1.29.0 is out!


I’ve had similar issues with network drives on Windows with releases past.
At least for now it’s best to steer clear of doing any development on network drives, for the sake of your own sanity.


As a workaround, maybe you can leave your source on R: and set CARGO_TARGET_DIR to somewhere on C: so the compiler doesn’t need to worry. Your error is from LLVM, which should only need IO to write the output files.


But if there’s an unused variable, how does cargo fix know that I meant to actually use it somewhere (like counter which I should have been doing counter += 1 on but wasn’t)? I guess cargo fix will just go ahead and change that to _counter and at that point the warning vanishes and I miss an opportunity to fix a genuine bug. Or am I understanding this wrongly?


No, you understand correctly.
On the other hand, for how long do you generally leave a variable unused if you were already planning to use it?

Of course unused var is the most trivial of warnings. For the meatier warnings (and perhaps even a few types of errors here and there) cargo fix will be useful. That said, I think it would also be useful for cargo fix to grow a way to opt-out of fixing certain warnings.


Thanks for that suggestion. It works for the example, so I’ve now updated my build .bat files for my main applications to do the builds on C:. This works for 1.28 and 1.29, so I can now upgrade to 1.29. Thanks for your help.


Hmm… Maybe the right workflow to use cargo fix could be the following three steps:

  1. Manually examine all warnings thrown by rustc.
  2. Fix all of them that point to a real bug by hand, i.e. fix the bug.
  3. For the remaining ones run cargo fix.

Then I can see value for it’s saving me the grunt work.

I was just worried about many or perhaps most programmers who even without cargo fix either ignore warnings altogether or “fix” them by suppressing them. I felt cargo fix is strengthening the hand of people like that.


I’m glad Iterator::flatten is now part of the standard library. Now I can delete my (probably subtly wrong) versions.


The 1.30.0 release notes are now getting written here: