From e6590d806a0b3d94a113cb3ce4813f0b8f751aae Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 6 Apr 2023 18:20:54 +0500 Subject: [PATCH] MarshalJSON should produce unique result ID Result variable inside for-loop actually have the same address on each iteration, so we need to take address in underlying slice. --- inline.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inline.go b/inline.go index b369139..2a88958 100644 --- a/inline.go +++ b/inline.go @@ -93,9 +93,9 @@ type Results []Result // MarshalJSON makes sure IQRs have proper IDs and Type variables set. func (results Results) MarshalJSON() ([]byte, error) { - for _, result := range results { + for i, result := range results { if result.ResultID() == "" { - result.SetResultID(fmt.Sprintf("%d", &result)) + result.SetResultID(fmt.Sprintf("%d", &results[i])) } if err := inferIQR(result); err != nil { return nil, err