mirror of
https://github.com/hanzoai/yaegi.git
synced 2026-10-01 00:49:47 +00:00
Per the standing fork rule, a hanzoai fork declares its OWN module path and
is required directly -- never resolved via a `replace` against the upstream
path. Keeping the upstream path meant every import line in every consumer
carried the upstream brand.
module github.com/traefik/yaegi -> module github.com/hanzoai/yaegi
Mechanical and behaviour-neutral: every occurrence is an import path
(package self-imports, cmd/, _test/ fixtures interpreted at test time, and
the guthib.com/<org>/{fromage,cheese,vin} fake vendor trees under
example/pkg, whose directory components were renamed in lockstep with the
import strings that reference them).
GOPATH-mode source-import tests (interp TestFile) resolve the module by its
path under $GOPATH/src, so the required checkout location moves with the
module path -- as README already documents. Verified green at
$GOPATH/src/github.com/hanzoai/yaegi.
LICENSE is untouched: "Copyright 2020 Traefik Labs SAS" is the Apache-2.0
attribution and is a legal obligation, not a brand leak.
Also drops the inherited CONTRIBUTING.md CLA clause, which named an
upstream agreement this fork does not administer.
34 lines
562 B
Go
34 lines
562 B
Go
package unsafe2_test
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/hanzoai/yaegi/internal/unsafe2"
|
|
)
|
|
|
|
func TestSwapFieldType(t *testing.T) {
|
|
f := []reflect.StructField{
|
|
{
|
|
Name: "A",
|
|
Type: reflect.TypeOf(int(0)),
|
|
},
|
|
{
|
|
Name: "B",
|
|
Type: reflect.PtrTo(unsafe2.DummyType),
|
|
},
|
|
{
|
|
Name: "C",
|
|
Type: reflect.TypeOf(int64(0)),
|
|
},
|
|
}
|
|
typ := reflect.StructOf(f)
|
|
ntyp := reflect.PtrTo(typ)
|
|
|
|
unsafe2.SetFieldType(typ, 1, ntyp)
|
|
|
|
if typ.Field(1).Type != ntyp {
|
|
t.Fatalf("unexpected field type: want %s; got %s", ntyp, typ.Field(1).Type)
|
|
}
|
|
}
|