jesseduffield.lazygit/vendor/github.com/sasha-s/go-deadlock/beforeafter_go124.go
dependabot[bot] 5928e851dd
Bump github.com/sasha-s/go-deadlock from 0.3.6 to 0.3.9
Bumps [github.com/sasha-s/go-deadlock](https://github.com/sasha-s/go-deadlock) from 0.3.6 to 0.3.9.
- [Release notes](https://github.com/sasha-s/go-deadlock/releases)
- [Commits](https://github.com/sasha-s/go-deadlock/compare/v0.3.6...v0.3.9)

---
updated-dependencies:
- dependency-name: github.com/sasha-s/go-deadlock
  dependency-version: 0.3.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-01 09:24:57 +00:00

31 lines
651 B
Go

//go:build go1.24
package deadlock
import (
"unsafe"
"weak"
)
type beforeAfter struct {
before weak.Pointer[byte]
after weak.Pointer[byte]
}
// ptrFromInterface extracts the data pointer from an interface{} value.
// An interface (eface) is {type *_type, data unsafe.Pointer}; we grab the second word.
func ptrFromInterface(i interface{}) *byte {
type eface struct {
_ uintptr
data unsafe.Pointer
}
return (*byte)((*eface)(unsafe.Pointer(&i)).data)
}
func newBeforeAfter(before, after interface{}) beforeAfter {
return beforeAfter{
before: weak.Make(ptrFromInterface(before)),
after: weak.Make(ptrFromInterface(after)),
}
}