| 1234567891011121314151617181920212223242526 |
- // Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- //go:build race
- package race
- import (
- "runtime"
- "unsafe"
- )
- func ReadSlice[T any](s []T) {
- if len(s) == 0 {
- return
- }
- runtime.RaceReadRange(unsafe.Pointer(&s[0]), len(s)*int(unsafe.Sizeof(s[0])))
- }
- func WriteSlice[T any](s []T) {
- if len(s) == 0 {
- return
- }
- runtime.RaceWriteRange(unsafe.Pointer(&s[0]), len(s)*int(unsafe.Sizeof(s[0])))
- }
|