[Python-checkins] CVS: python/dist/src/Objects typeobject.c,2.124,2.125

Guido van Rossum gvanrossum@users.sourceforge.net
2001年12月13日 20:19:24 -0800


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv28799
Modified Files:
	typeobject.c 
Log Message:
(Merge into trunk.)
Fix for SF bug #492345. (I could've sworn I checked this in, but
apparently I didn't!)
This code:
 class Classic:
 pass
 class New(Classic):
 __metaclass__ = type
attempts to create a new-style class with only classic bases -- but it
doesn't work right. Attempts to fix it so it works caused problems
elsewhere, so I'm now raising a TypeError in this case.
Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.124
retrieving revision 2.125
diff -C2 -d -r2.124 -r2.125
*** typeobject.c	2001年12月06日 02:35:58	2.124
--- typeobject.c	2001年12月14日 04:19:22	2.125
***************
*** 758,762 ****
 		}
 	}
! 	assert(base != NULL);
 	return base;
 }
--- 758,764 ----
 		}
 	}
! 	if (base == NULL)
! 		PyErr_SetString(PyExc_TypeError,
! 			"a new-style class can't have only classic bases");
 	return base;
 }

AltStyle によって変換されたページ (->オリジナル) /