27605 is more about providing the values that caused the panic, not the source location. It is still the case that even with 27605 multiple indexing operations on the same line are not distinguished (unless knowledge of the application lets you disambiguate using the values). For nil pointer dereferences, there's no value to report. Or, there's exactly one value to report, which isn't helpful.
Mentioning the variable is problematic for the reason you mentioned. A possibly better idea would be to report the line and column number. That should uniquely identify which code caused the problem, both for nil pointer and indexing. The question is how much additional space it would take to encode column numbers. You can almost always disambiguate the problem dereference with some judicious uses of \n, if the problem is reproducible. On Thursday, February 7, 2019 at 4:36:01 PM UTC-8, Tyler Compton wrote: > > After reading https://golang.org/issues/27605 (proposal: report indexes > for bounds failure), I started to wonder why we don't do something similar > with nil pointer dereferences. > > I've more than once found myself in a situation where I'm inspecting a nil > pointer dereference panic and it ends up on a line where any number of > variables could have been the nil pointer in question. It would be helpful > in these circumstances to get a message like "attempt to dereference > variable 'myvar', which is a nil pointer" or something along those lines. > Here is a toy example that causes a panic on a line where there are many > variables that could have been the problematic nil pointer. > https://play.golang.com/p/mmkOOU3M3lU > > My guess as to why I've never seen this in a language before is because > dereferencing doesn't always happen on a named variable. For example, > `getSomePointer().field` could result in a nil pointer dereference, but > there's no variable name to put in the panic. Maybe then the panic message > would be "attempt to dereference anonymous variable, which is a nil > pointer", which is still slightly less ambiguous than the current panic > message. Do you think a feature like this could be useful, even with its > inherent limitations? > -- 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.