shithub: mc

Download patch

ref: 8c05ff6402cfb8988424b10ce3846f6d270919fd
parent: a7328b247486910e1bc21eee2e52b8452948f010
author: Ori Bernstein <ori@eigenstate.org>
date: Thu Feb 25 20:15:31 EST 2016

More consistent internness for types.

--- a/6/typeinfo.c
+++ b/6/typeinfo.c
@@ -104,6 +104,7 @@
 	char buf[512];
 	uint8_t tt;
 	Node *len;
+	int isintern;
 
 	sub = NULL;
 	nsub = 0;
@@ -179,7 +180,10 @@
 	case Tyname:
 		i = bprintf(buf, sizeof buf, "%s", Symprefix);
 		tydescid(buf + i, sizeof buf - i, ty);
-		lappend(&sub, &nsub, mkblobref(buf, 0, ty->isimport || ty->vis == Visexport));
+		isintern = 0;
+		if (types[i]->isreflect && (!types[i]->isimport || types[i]->ishidden))
+			isintern = 1;
+		lappend(&sub, &nsub, mkblobref(buf, 0, isintern));
 		break;
 	}
 	b = mkblobseq(sub, nsub);