From 8edb8ab9ac42e9bfb851b3bc41509e782555f053 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 16 Jul 2022 16:12:08 -0600 Subject: rethink the SumRun interface to fit diskio.Sequence --- lib/btrfs/btrfsvol/addr.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/btrfs') diff --git a/lib/btrfs/btrfsvol/addr.go b/lib/btrfs/btrfsvol/addr.go index 76b531d..94320ef 100644 --- a/lib/btrfs/btrfsvol/addr.go +++ b/lib/btrfs/btrfsvol/addr.go @@ -56,3 +56,13 @@ func (a QualifiedPhysicalAddr) Cmp(b QualifiedPhysicalAddr) int { } return int(a.Addr - b.Addr) } + +type _IntAddr[T any] interface { + ~int64 + Sub(T) AddrDelta + Add(AddrDelta) T +} + +// IntAddr is a type constraint that you can use to accept LogicalAddr +// or PhysicalAddr. +type IntAddr[T _IntAddr[T]] _IntAddr[T] -- cgit v1.2.3-2-g168b