+++ /dev/null
-// Copyright 2018 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.
-
-// This file contains tests for the unmarshal checker.
-
-package testdata
-
-import (
- "encoding/asn1"
- "encoding/gob"
- "encoding/json"
- "encoding/xml"
- "io"
-)
-
-func _() {
- type t struct {
- a int
- }
- var v t
- var r io.Reader
-
- json.Unmarshal([]byte{}, v) // want "call of Unmarshal passes non-pointer as second argument"
- json.Unmarshal([]byte{}, &v)
- json.NewDecoder(r).Decode(v) // want "call of Decode passes non-pointer"
- json.NewDecoder(r).Decode(&v)
- gob.NewDecoder(r).Decode(v) // want "call of Decode passes non-pointer"
- gob.NewDecoder(r).Decode(&v)
- xml.Unmarshal([]byte{}, v) // want "call of Unmarshal passes non-pointer as second argument"
- xml.Unmarshal([]byte{}, &v)
- xml.NewDecoder(r).Decode(v) // want "call of Decode passes non-pointer"
- xml.NewDecoder(r).Decode(&v)
- asn1.Unmarshal([]byte{}, v) // want "call of Unmarshal passes non-pointer as second argument"
- asn1.Unmarshal([]byte{}, &v)
-
- var p *t
- json.Unmarshal([]byte{}, p)
- json.Unmarshal([]byte{}, *p) // want "call of Unmarshal passes non-pointer as second argument"
- json.NewDecoder(r).Decode(p)
- json.NewDecoder(r).Decode(*p) // want "call of Decode passes non-pointer"
- gob.NewDecoder(r).Decode(p)
- gob.NewDecoder(r).Decode(*p) // want "call of Decode passes non-pointer"
- xml.Unmarshal([]byte{}, p)
- xml.Unmarshal([]byte{}, *p) // want "call of Unmarshal passes non-pointer as second argument"
- xml.NewDecoder(r).Decode(p)
- xml.NewDecoder(r).Decode(*p) // want "call of Decode passes non-pointer"
- asn1.Unmarshal([]byte{}, p)
- asn1.Unmarshal([]byte{}, *p) // want "call of Unmarshal passes non-pointer as second argument"
-
- var i interface{}
- json.Unmarshal([]byte{}, i)
- json.NewDecoder(r).Decode(i)
-
- json.Unmarshal([]byte{}, nil) // want "call of Unmarshal passes non-pointer as second argument"
- json.Unmarshal([]byte{}, []t{}) // want "call of Unmarshal passes non-pointer as second argument"
- json.Unmarshal([]byte{}, map[string]int{}) // want "call of Unmarshal passes non-pointer as second argument"
- json.NewDecoder(r).Decode(nil) // want "call of Decode passes non-pointer"
- json.NewDecoder(r).Decode([]t{}) // want "call of Decode passes non-pointer"
- json.NewDecoder(r).Decode(map[string]int{}) // want "call of Decode passes non-pointer"
-
- json.Unmarshal(func() ([]byte, interface{}) { return []byte{}, v }())
-}