Apologies for not being more specific with a distilled exampled, the reason is that I don't understand if this is a bug or expected. Agreed I should have left the first lines out.
I think Michael Jones summarised it quite well: > I think the problem is the unexpected type of g. In the "spread out" switch clauses it is int/float/... but in the "all as one" case it is still a generic interface. And Jesse McNelis gave the answer I believe. I misread the specs, specifically I confused the SimpleStmt with the TypeSwitchGuard. I am aware that I comparisons here have to be done thoughtful, but the behaviour between the different styles of switch cases is what felt unexpected. On Friday, December 30, 2016 at 5:48:57 PM UTC+1, Jan Mercl wrote: > > Can you please reduce the example to a single failing case and state > what's the expected outcome instead? I, for one, fail to spot where the > perceived problem is (when reading it on the phone). > > On Fri, Dec 30, 2016, 17:26 Uwe Dauernheim <u...@dauernheim.net > <javascript:>> wrote: > >> It seem a float64 of value 0.0 as types interface{} can't be compared >> equal to 0 in an exhaustive case clause type list, but can be compared >> equal in almost any other scenario. >> >> https://play.golang.org/p/t2u2GGp565 >> >> I find this unexpected. Could someone explain how case clause type lists >> in type assertions work? >> >> The language specification states: >> >> > In clauses with a case listing exactly one type, the variable has that >> type; otherwise, the variable has the type of the expression in the >> TypeSwitchGuard. >> >> In the provided playground is no TypeSwitchGuard given, so this rule >> should not affect behaviour. >> >> >> -- >> 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...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- > > -j > -- 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.