mpickering / haskell-ide-engine

The engine for haskell ide-integration. Not an IDE
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

Merge master downstream and update hie-bios #8

Closed fendor closed 5 years ago

fendor commented 5 years ago

Resolves merge conflicts. Fixes build on all supported ghc versions. Fixes all warnings in the code base. Reduce debugging noise. closes #9. works around #10. kind of fixes #11. HIE does not crash, but no proper diagnostics are produced.

mpickering commented 5 years ago

Did you test much after doing the merge?

fendor commented 5 years ago

I am currently constantly dogfooding and mainly observed the problem we already discussed regarding the virtual file system. I am pretty sure, I found the problem but not how to properly fix it. closing a document removes it from the vfs, but in the type checking process persistVirtualFile is manually called which throws an error if the document had been closed. I want to add a test for that before merge. Also, I want to know if all uses of persistVirtualFile are prone to this race. Need to investigate it a bit more.

I also observed an error that Data.Text.last was executed on an empty string. I am not sure if that was already present on master and it happened only once.

Other than that, it was pretty good, and the ide felt more responsive.

mpickering commented 5 years ago

I discussed this race condition problem with @fendor on IRC. We concluded that it was difficult to properly fix the race but could guard against it by more carefully using persistVirtualFile.

I'll give you merge access @fendor so you can merge it when you're happy.

mpickering commented 5 years ago

Ready to merge?

fendor commented 5 years ago

No, there are still two issues left, I intend to work on before the merge.