mirror of
https://github.com/burrowers/garble.git
synced 2026-04-22 23:57:14 +08:00
30357af923
This lets us start taking advantage of featurs from Go 1.23, particularly tracking aliases in go/types and iterators. Note that we need to add code to properly handle or skip over the new *types.Alias type which go/types produces for Go type aliases. Also note that we actually turn this mode off entirely for now, due to the bug reported at https://go.dev/issue/70394. We don't yet remove our own alias tracking code yet due to the above. We hope to be able to remove it very soon.
47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
exec garble -debugdir ./debug1 build
|
|
exists 'debug1/test/main/imported/imported.go' 'debug1/test/main/main.go' 'debug1/reflect/type.go'
|
|
exists 'debug1/runtime/map.go' 'debug1/runtime/funcdata.h' 'debug1/runtime/asm.s'
|
|
[amd64] exists 'debug1/runtime/cpuflags_amd64.go' 'debug1/runtime/asm_amd64.s'
|
|
[!amd64] ! exists 'debug1/runtime/cpuflags_amd64.go' 'debug1/runtime/asm_amd64.s'
|
|
! grep ImportedFunc $WORK/debug1/test/main/imported/imported.go
|
|
! grep ImportedFunc $WORK/debug1/test/main/main.go
|
|
! grep 'some comment' $WORK/debug1/test/main/main.go
|
|
|
|
[short] stop
|
|
|
|
# Sources from previous builds should be deleted
|
|
cp $WORK/debug1/test/main/main.go $WORK/debug1/some_file_from_prev_build.go
|
|
|
|
exec garble -debugdir ./debug1 build -v
|
|
stderr 'test/main' # we force rebuilds with -debugdir
|
|
! exists $WORK/debug1/some_file_from_prev_build.go
|
|
-- go.mod --
|
|
module test/main
|
|
|
|
go 1.23
|
|
-- main.go --
|
|
package main
|
|
|
|
import (
|
|
"reflect"
|
|
|
|
"test/main/imported" // some comment
|
|
)
|
|
|
|
type someType int // some comment
|
|
var someVar = 0
|
|
|
|
type someStruct struct {
|
|
someField int // some comment
|
|
}
|
|
|
|
func main() {
|
|
imported.ImportedFunc()
|
|
reflect.TypeOf(123)
|
|
}
|
|
|
|
-- imported/imported.go --
|
|
package imported
|
|
|
|
func ImportedFunc() {}
|