github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/src/cmd/vet/test_assign.go (about)

     1  // Copyright 2013 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // This file contains tests for the useless-assignment checker.
     6  
     7  // +build vet_test
     8  
     9  package main
    10  
    11  type ST struct {
    12  	x int
    13  }
    14  
    15  func (s *ST) SetX(x int) {
    16  	// Accidental self-assignment; it should be "s.x = x"
    17  	x = x // ERROR "self-assignment of x to x"
    18  	// Another mistake
    19  	s.x = s.x // ERROR "self-assignment of s.x to s.x"
    20  }