mirror of
https://github.com/golang/go
synced 2024-11-17 10:14:46 -07:00
0da4b2dbc2
Instead of immediately completing pointer type mappings, add them to a queue to allow them to be completed later. This fixes issues caused by Type() returning arbitrary in-progress type mappings. Fixes #8368. Fixes #8441. LGTM=iant R=golang-codereviews, iant CC=golang-codereviews https://golang.org/cl/122850043
28 lines
536 B
Go
28 lines
536 B
Go
// Copyright 2014 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.
|
|
|
|
// Issue 8368 and 8441. Recursive struct definitions didn't work.
|
|
// No runtime test; just make sure it compiles.
|
|
|
|
package cgotest
|
|
|
|
/*
|
|
typedef struct one one;
|
|
typedef struct two two;
|
|
struct one {
|
|
two *x;
|
|
};
|
|
struct two {
|
|
one *x;
|
|
};
|
|
*/
|
|
import "C"
|
|
|
|
func issue8368(one *C.struct_one, two *C.struct_two) {
|
|
}
|
|
|
|
func issue8441(one *C.one, two *C.two) {
|
|
issue8441(two.x, one.x)
|
|
}
|