TMI: Tiny steps
Jul. 16th, 2013 04:55 pmrustpkg discovers dependencies as it goes along, doing parsing, so you could start installing one package A, find another package B that needs to be installed, go ahead and install B, then go back to building A. So the natural way to rewrite this code using workcache involves passing around the workcache database to recursive calls. But that's not allowed, since it's not sendable and since the workcache wrapper requires a sendable closure.
Graydon agreed it would be better to rewrite the workcache code so that the context is sendable, so now I'm blocked on him doing that.
In the meantime, though, I also figured out the duplicate package problem from yesterday. It was really silly; I was adding in both the .rust subdirectory of the home directory and of the current working directory -- and all ancestors of the CWD. But what if the home directory is an ancestor of the current working directory (as one would normally expect it to be)? sadtrombone.wav
And in the meantime, finishing extern mod is blocked on fixing the duplicate-package bug, which is easier now that I've found it.