/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/codegen/ifaces.go
63 строки
1 KB
Keith Randall
test/codegen: replace commas with spaces between regexps
31 мар 2026, 21:01
31 мар 2026, 21:01
d5b6d58
Код
Авторство
О чём код?
// asmcheck // Copyright 2022 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. package codegen type I interface{ M() } func NopConvertIface(x I) I { // amd64:-`.*runtime.convI2I` return I(x) } func NopConvertGeneric[T any](x T) T { // amd64:-`.*runtime.convI2I` return T(x) } var NopConvertGenericIface = NopConvertGeneric[I] func ConvToM(x any) I { // amd64:`CALL runtime.typeAssert` `MOVL 16\(.*\)` `MOVQ 8\(.*\)(.*\*1)` // arm64:`CALL runtime.typeAssert` `LDAR` `MOVWU` `MOVD \(R.*\)\(R.*\)` return x.(I) } func e1(x any, y *int) bool { // amd64:-`.*faceeq` `SETEQ` // arm64:-`.*faceeq` `CSET EQ` return x == y } func e2(x any, y *int) bool { // amd64:-`.*faceeq` `SETEQ` // arm64:-`.*faceeq` `CSET EQ` return y == x } type E *int func e3(x any, y E) bool { // amd64:-`.*faceeq` `SETEQ` // arm64:-`.*faceeq` `CSET EQ` return x == y } type T int func (t *T) M() {} func i1(x I, y *T) bool { // amd64:-`.*faceeq` `SETEQ` // arm64:-`.*faceeq` `CSET EQ` return x == y } func i2(x I, y *T) bool { // amd64:-`.*faceeq` `SETEQ` // arm64:-`.*faceeq` `CSET EQ` return y == x }