{"push_id":2434857546,"size":1,"distinct_size":1,"ref":"refs/heads/stack-check","head":"e93e12a527bf56869db683de92f0950c77392733","before":"0ad743a2d3e40b98477b4e2108602e54804f306c","commits":[{"sha":"e93e12a527bf56869db683de92f0950c77392733","author":{"name":"Joe Tsai","email":"c7874cf88bdcdb3475772e26193a8bfa7523fd74@digital-static.net"},"message":"Check for probable infinite recursive cycles\n\nAfter some hard-coded limit, check the path for recursive transformers.\nNote that detecting an infinite cycle of recursive transformers\nwould be equivalent to solving the halting problem,\nso we could misdiagnose a valid recursion as infinite.\n\nFor this reason, the check only triggers after some minimum stack size\nso that correctness is not compromised for nearly all situations.\nHowever, the threshold is low enough to trigger before the Go runtime\npanics with a stack overflow (which is not recoverable).\n\nExample panic message:\n<<<\npanic: recursive set of Transformers detected:\n\tTransformer(T1, main.main.func1): complex64 => complex128\n\tTransformer(T2, main.main.func2): complex128 => [2]float64\n\tTransformer(T3, main.main.func3): float64 => complex64\nconsider using cmpopts.AcyclicTransformer\n>>>\n\nUpdates #77","distinct":true,"url":"https://api.github.com/repos/google/go-cmp/commits/e93e12a527bf56869db683de92f0950c77392733"}]}
{"actor":{"display_login":"dsnet"}}