Currently, to work around this problem, one has to restart session manually whenever a .c files is deleted. Implementing a proper fix should not be hard --- in particular, the procedure to unload C object files from GHC is already implemented and we just need to keep track of files that were recently deleted. But this won't be a quick fix, because we need to add tests of interaction of the solution with the other features and testing is very time-consuming in the current state of our framework.
The following test illustrates the problem: https://github.com/fpco/ide-backend/commit/9a15cb1cab47de5d0c560904e427a68d700587b1#diff-23ffe0c0799e137765a86c8341cac6c0R2073
Currently, to work around this problem, one has to restart session manually whenever a .c files is deleted. Implementing a proper fix should not be hard --- in particular, the procedure to unload C object files from GHC is already implemented and we just need to keep track of files that were recently deleted. But this won't be a quick fix, because we need to add tests of interaction of the solution with the other features and testing is very time-consuming in the current state of our framework.