Racer uses libsyntax to parse small snippets of code when trying to complete or find definitions.
Unfortunately libsyntax panics on parse errors, which means racer must wrap calls to libsyntax in a thread. Spawning threads in this way is expensive for racer, doubling the time taken for a search in a lot of cases because of the number of times it calls into libsyntax.
I’m considering changing libsyntax to use Result<>s rather than panicing on a fatal error. In principle is this a change that the devs would be happy to accept?