mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-02-26 07:37:20 +00:00
trie: refactor to use slices.Concat (#32401)
This commit is contained in:
parent
2e9c9b5e98
commit
43b2aac33c
1 changed files with 2 additions and 8 deletions
10
trie/trie.go
10
trie/trie.go
|
|
@ -21,6 +21,7 @@ import (
|
|||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"slices"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/types"
|
||||
|
|
@ -471,7 +472,7 @@ func (t *Trie) delete(n node, prefix, key []byte) (bool, node, error) {
|
|||
// always creates a new slice) instead of append to
|
||||
// avoid modifying n.Key since it might be shared with
|
||||
// other nodes.
|
||||
return true, &shortNode{concat(n.Key, child.Key...), child.Val, t.newFlag()}, nil
|
||||
return true, &shortNode{slices.Concat(n.Key, child.Key), child.Val, t.newFlag()}, nil
|
||||
default:
|
||||
return true, &shortNode{n.Key, child, t.newFlag()}, nil
|
||||
}
|
||||
|
|
@ -566,13 +567,6 @@ func (t *Trie) delete(n node, prefix, key []byte) (bool, node, error) {
|
|||
}
|
||||
}
|
||||
|
||||
func concat(s1 []byte, s2 ...byte) []byte {
|
||||
r := make([]byte, len(s1)+len(s2))
|
||||
copy(r, s1)
|
||||
copy(r[len(s1):], s2)
|
||||
return r
|
||||
}
|
||||
|
||||
// copyNode deep-copies the supplied node along with its children recursively.
|
||||
func copyNode(n node) node {
|
||||
switch n := (n).(type) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue