diff options
Diffstat (limited to 'src/text/template/exec.go')
| -rw-r--r-- | src/text/template/exec.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/text/template/exec.go b/src/text/template/exec.go index 1d04c2982f..120d010a19 100644 --- a/src/text/template/exec.go +++ b/src/text/template/exec.go @@ -7,6 +7,7 @@ package template import ( "bytes" "fmt" + "internal/fmtsort" "io" "reflect" "runtime" @@ -362,8 +363,9 @@ func (s *state) walkRange(dot reflect.Value, r *parse.RangeNode) { if val.Len() == 0 { break } - for _, key := range sortKeys(val.MapKeys()) { - oneIteration(key, val.MapIndex(key)) + om := fmtsort.Sort(val) + for i, key := range om.Key { + oneIteration(key, om.Value[i]) } return case reflect.Chan: |
