+++ /dev/null
-package pkg
-
-import (
- "encoding/json"
- "encoding/xml"
-)
-
-type T1 struct {
- A int
- B func() `json:"-" xml:"-"`
- c chan int
-}
-
-type T2 struct {
- T1
-}
-
-type T3 struct {
- C chan int
-}
-
-type T4 struct {
- C C
-}
-
-type T5 struct {
- B func() `xml:"-"`
-}
-
-type T6 struct {
- B func() `json:"-"`
-}
-
-type T7 struct {
- A int
- B int
- T3
-}
-
-type T8 struct {
- C int
- *T7
-}
-
-type C chan int
-
-func (C) MarshalText() ([]byte, error) { return nil, nil }
-
-func fn() {
- var t1 T1
- var t2 T2
- var t3 T3
- var t4 T4
- var t5 T5
- var t6 T6
- var t8 T8
- json.Marshal(t1)
- json.Marshal(t2)
- json.Marshal(t3) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T3\.C`
- json.Marshal(t4)
- json.Marshal(t5) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T5\.B`
- json.Marshal(t6)
- (*json.Encoder)(nil).Encode(t1)
- (*json.Encoder)(nil).Encode(t2)
- (*json.Encoder)(nil).Encode(t3) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T3\.C`
- (*json.Encoder)(nil).Encode(t4)
- (*json.Encoder)(nil).Encode(t5) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T5\.B`
- (*json.Encoder)(nil).Encode(t6)
-
- xml.Marshal(t1)
- xml.Marshal(t2)
- xml.Marshal(t3) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T3\.C`
- xml.Marshal(t4)
- xml.Marshal(t5)
- xml.Marshal(t6) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T6\.B`
- (*xml.Encoder)(nil).Encode(t1)
- (*xml.Encoder)(nil).Encode(t2)
- (*xml.Encoder)(nil).Encode(t3) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T3\.C`
- (*xml.Encoder)(nil).Encode(t4)
- (*xml.Encoder)(nil).Encode(t5)
- (*xml.Encoder)(nil).Encode(t6) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T6\.B`
-
- json.Marshal(t8) // want `trying to marshal chan or func value, field CheckUnsupportedMarshal\.T8\.T7\.T3\.C`
-}