summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/tools/go/ssa/testdata/structconv.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/tools/go/ssa/testdata/structconv.go')
-rw-r--r--vendor/golang.org/x/tools/go/ssa/testdata/structconv.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/vendor/golang.org/x/tools/go/ssa/testdata/structconv.go b/vendor/golang.org/x/tools/go/ssa/testdata/structconv.go
new file mode 100644
index 0000000..3126469
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/ssa/testdata/structconv.go
@@ -0,0 +1,24 @@
+//+build ignore
+
+// This file is the input to TestValueForExprStructConv in identical_test.go,
+// which uses the same framework as TestValueForExpr does in source_test.go.
+//
+// In Go 1.8, struct conversions are permitted even when the struct types have
+// different tags. This wasn't permitted in earlier versions of Go, so this file
+// exists separately from valueforexpr.go to just test this behavior in Go 1.8
+// and later.
+
+package main
+
+type t1 struct {
+ x int
+}
+type t2 struct {
+ x int `tag`
+}
+
+func main() {
+ var tv1 t1
+ var tv2 t2 = /*@ChangeType*/ (t2(tv1))
+ _ = tv2
+}