3 Commits

Author SHA1 Message Date
f0c9fb9acf Merge remote-tracking branch 'origin' into fix/mixed-receiver-types 2026-04-15 23:18:06 -04:00
f35583e079 fix!: removed all 'mixed pointer'-edness
All checks were successful
CI / Check PR Title (pull_request) Successful in 31s
CI / Makefile Lint (pull_request) Successful in 45s
CI / Markdown Lint (pull_request) Successful in 34s
CI / Unit Tests (pull_request) Successful in 41s
CI / Go Lint (pull_request) Successful in 56s
CI / Fuzz Tests (pull_request) Successful in 1m39s
CI / Mutation Tests (pull_request) Successful in 1m5s
2026-04-15 22:59:31 -04:00
ce41d4fba2 feat: add recvcheck linter 2026-04-15 22:58:14 -04:00
3 changed files with 10 additions and 7 deletions

View File

@@ -114,6 +114,9 @@ linters:
# Reports uses of functions with replacement inside the testing package.
- usetesting
# Reports mixed receiver types in structs/interfaces.
- recvcheck
settings:
revive:
rules:

View File

@@ -19,11 +19,11 @@ type subtable[K, V any] struct {
// location determines where in the subtable a certain key would be placed. If
// the capacity is 0, this will panic.
func (t subtable[K, V]) location(key K) uint64 {
func (t *subtable[K, V]) location(key K) uint64 {
return t.hash(key) % t.capacity
}
func (t subtable[K, V]) get(key K) (value V, found bool) {
func (t *subtable[K, V]) get(key K) (value V, found bool) {
if t.capacity == 0 {
return
}
@@ -54,7 +54,7 @@ func (t *subtable[K, V]) resize(capacity uint64) {
t.size = 0
}
func (t subtable[K, V]) update(key K, value V) (updated bool) {
func (t *subtable[K, V]) update(key K, value V) (updated bool) {
if t.capacity == 0 {
return
}

View File

@@ -97,7 +97,7 @@ func (t *Table[K, V]) shrink() error {
// Get fetches the value for a key in the [Table]. Matches the comma-ok pattern
// of a builtin map; see [Table.Find] for plain indexing.
func (t Table[K, V]) Get(key K) (value V, ok bool) {
func (t *Table[K, V]) Get(key K) (value V, ok bool) {
if item, ok := t.tableA.get(key); ok {
return item, true
}
@@ -111,13 +111,13 @@ func (t Table[K, V]) Get(key K) (value V, ok bool) {
// Find fetches the value of a key. Matches direct indexing of a builtin map;
// see [Table.Get] for a comma-ok pattern.
func (t Table[K, V]) Find(key K) (value V) {
func (t *Table[K, V]) Find(key K) (value V) {
value, _ = t.Get(key)
return
}
// Has returns true if a key has a value in the table.
func (t Table[K, V]) Has(key K) (exists bool) {
func (t *Table[K, V]) Has(key K) (exists bool) {
_, exists = t.Get(key)
return
}