Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73b1b48d authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Use ordered interface from cmp package" into main

parents f3c63e67 efc70122
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
package android

import (
	"cmp"
	"fmt"
	"path/filepath"
	"reflect"
@@ -106,15 +107,8 @@ func SortedStringKeys[V any](m map[string]V) []string {
	return SortedKeys(m)
}

type Ordered interface {
	~string |
		~float32 | ~float64 |
		~int | ~int8 | ~int16 | ~int32 | ~int64 |
		~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
}

// SortedKeys returns the keys of the given map in the ascending order.
func SortedKeys[T Ordered, V any](m map[T]V) []T {
func SortedKeys[T cmp.Ordered, V any](m map[T]V) []T {
	if len(m) == 0 {
		return nil
	}
+2 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
package android

import (
	"cmp"
	"fmt"
	"reflect"
	"strconv"
@@ -650,7 +651,7 @@ func BenchmarkFirstUniqueStrings(b *testing.B) {
	}
}

func testSortedKeysHelper[K Ordered, V any](t *testing.T, name string, input map[K]V, expected []K) {
func testSortedKeysHelper[K cmp.Ordered, V any](t *testing.T, name string, input map[K]V, expected []K) {
	t.Helper()
	t.Run(name, func(t *testing.T) {
		actual := SortedKeys(input)