On Tuesday, 13 September 2016 09:15:57 UTC+3, Egon wrote: > > On Tuesday, 13 September 2016 08:53:39 UTC+3, josvazg wrote: >> >> Why does Go does not have a static race detector? What are the >> difficulties? >> (just pointing me to the right docs to read is fine) >> >> I was thinking in a naive high level way... >> >> If Rust can do it, using its ownership model, Go could have a tool >> checking the AST that analyzes variable scopes and checks globals, >> variables passed to goroutines and to/from channels. >> >> If one such followed variable is found in any piece of code to be >> accessed from more than 2 places and any access is a write, bam! flag that >> code with an error. >> >> What is this not possible or too difficult? too many corner cases? not >> enough supporting info in the code? (that could be build by the tool) >> Or maybe is a work in progress,? maybe 100% reliable escape analysis is >> required beforehand? >> > > One WIP http://www.doc.ic.ac.uk/~cn06/pub/2016/dingo/ > > It's mainly -- *someone has to put in the effort*. > > AFAIR the main difficulty lies in buffered channels. >
Oh, forgot to mention -- it's not a race detector, but rather a deadlock detector -- but, I guess, the principles are similar. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.