Hmm interesting, copying the generated tests executable (that is the exe containing my unittests, which in turn invoke the rustc compiler through the rustc crate) into the rust-compiler's root directory solved this problem, even though this "workflow" isn't exactly pleasing...
So I tried various things now. Including: 1) Copying the entrie rustc root directory over the generated executable [Same error] 2) Copying the entrie rustc root directory into the working directory of my unit tests [Same error] 3) copying my unittest executable into the rustc root directory [Success] Any ideas how I could make one of the first two options work too? On Sun, Jul 13, 2014 at 9:10 AM, Christoph Husse <[email protected]> wrote: > Hi, > > I successfully managed to hook into the compiler so far. Or well it's > not that successful, because it doesn't work, but at least the code is > there ;). > > Now I am trying to compile an empty file, and it gives me the weird error: > > "error: can't find crate for `std`" > > Any chance there could be more insight? Normally a C++ compiler is > able to also tell you the library search paths at least, and in this > case it would be helpful to print the assumed hash code suffix that > was expected (I assume the fact that it runs in my executable instead > of the real compiler makes it somehow look for and STD with a > different hash suffix). > > To zero out the chance that I did something wrong with externalizing > parts of the compiler driver into my own application, I wrote a simple > main method with the following "fallback": > > rustc::driver::main_args(args.as_slice()) > > It will simply do what rustc does... Invoke the rustc compiler with > the arguments provided. This call will land inside of the compiler > that was used to compile the very same statement (I hope). Its using > the "rustc" crate after all. > > Still the same error message ;) > > So how could that be resolved? This is also an issue for custom Lint > plugins I guess, because you will definitely not want to invoke rustc > as external command and then have your plugin run in a different > process. I basically need the AST after analysis in its pure form, > like no JSON or something. Just want to continue where the compiler > left off... Instead of generating LLVM & stuff, which is not needed in > my case. > > best > chris _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
