Programs such as this cause the PtrTo solver to attempt to enumerate an infinite set of types {T, *T, ..., *******T, etc}. t := reflect.TypeOf(T{}) for { t = reflect.PtrTo(t) } The fix is to bound the depth of reflectively created types at about 4 map/chan/slice/pointer constructors. + test. LGTM=gri R=gri CC=crawshaw, golang-codereviews https://golang.org/cl/102030044 |
||
---|---|---|
.. | ||
callgraph | ||
exact | ||
gccgoimporter | ||
gcimporter | ||
importer | ||
loader | ||
pointer | ||
ssa | ||
types | ||
vcs |