On Thu, Dec 1, 2022 at 6:39 AM 'Mark' via golang-nuts < golang-nuts@googlegroups.com> wrote:
> The reason there's no nullable in the real code is that it isn't needed > there: if the field is to a pointer variable (e.g., *string), then I call > hack() and that adds the '?' to the string so no need for a nullable bool; > otherwise for non-pointers it falls through to the normal processing. So > the complete -- and working -- code is in the repo and go test works. But > replacing the call to hack() with kind = field.Type().Elem().Kind() breaks > the tests. > Your original code set the nullable to true in the if-block. Do you still have that piece? > > On Thursday, December 1, 2022 at 1:09:50 PM UTC Marvin Renich wrote: > >> * 'Mark' via golang-nuts <golan...@googlegroups.com> [221201 05:17]: >> > I tried that and it works in the playground, and I added more types and >> it >> > still works in the playground <https://go.dev/play/p/Yxzj4tAAGhM>. >> > But in my program it still doesn't work:-( >> > The actual code is here tdb-go < >> https://github.com/mark-summerfield/tdb-go> >> > in the file marshal.go from line 133 function marshalTableMetaData(). >> > If you run: go test it all works; but if you replace the call to hack() >> and >> > use nullable as you did in the playground, some of the tests fail. >> >> You don't show the code that doesn't work (i.e. with nullable). Did you >> make a typo like you did in your code below? >> >> > On Thursday, December 1, 2022 at 9:45:48 AM UTC kortschak wrote: >> > >> > > On Thu, 2022-12-01 at 00:33 -0800, 'Mark' via golang-nuts wrote: >> > > > Thanks. I've now tried that as follows: >> > > > >> > > > fmt.Printf("@@@@@@: %T %v\n", field, field) >> > > > kind = field.Type().Elem().Kind() >> > > > fmt.Printf("######: %T %v\n", field, field) >> >> Note that in both Printf statements, you are using field rather than >> kind. If the two Printf's gave different results, I would consider it a >> compiler bug (a really egregious one!). >> >> > > > In every case the output for kind before and after was identical. >> > > > (Naturally, I tried without the print statements too.) And, of >> course >> > > > the tests fail. So I'm _still_ using the awful hack! >> > > > >> > > >> > > Doesn't this do what you want? >> > > >> > > https://go.dev/play/p/7jUw_iW8B_8 >> >> ...Marvin >> >> -- > 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. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/e77369e7-7387-496e-ab02-0f47d5319fd6n%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/e77369e7-7387-496e-ab02-0f47d5319fd6n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAMV2Rqo%3DoCP0aCzuCf4uso84g%2BKDqexdOyBy%2BPgCXKDin0bWsQ%40mail.gmail.com.