2009-12-03 23:09:58 -07:00
|
|
|
// Copyright 2009 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.
|
|
|
|
|
|
|
|
package y
|
|
|
|
|
|
|
|
import "./x"
|
|
|
|
|
|
|
|
func f() {
|
|
|
|
ok := new(x.T);
|
|
|
|
var ok1 x.T;
|
|
|
|
ok2 := &ok1;
|
|
|
|
ok3 := &x.T{};
|
|
|
|
ok4 := &x.T{Y:2};
|
|
|
|
_ = x.T{};
|
|
|
|
_ = x.T{Y:2};
|
|
|
|
|
2011-05-24 17:48:19 -06:00
|
|
|
ok1.M();
|
2009-12-03 23:09:58 -07:00
|
|
|
bad1 := *ok; // ERROR "assignment.*T"
|
|
|
|
bad2 := ok1; // ERROR "assignment.*T"
|
|
|
|
*ok4 = ok1; // ERROR "assignment.*T"
|
|
|
|
*ok4 = *ok2; // ERROR "assignment.*T"
|
|
|
|
ok1 = *ok4; // ERROR "assignment.*T"
|
|
|
|
_ = bad1;
|
|
|
|
_ = bad2;
|
|
|
|
_ = ok4;
|
|
|
|
_ = ok3;
|
|
|
|
_ = ok2;
|
|
|
|
_ = ok1;
|
|
|
|
_ = ok;
|
|
|
|
}
|