Anders Logg wrote: > On Wed, Nov 04, 2009 at 01:10:17PM +0100, Johan Hake wrote: > >> On Wednesday 04 November 2009 09:37:55 Garth N. Wells wrote: >> >>> kent-...@simula.no wrote: >>> >>>> Hi, I am very happy with the Expression, but old code like >>>> >>>> class Dabla(Function): >>>> def eval(...) >>>> >>>> still works. >>>> >>>> The only problem is that the function is zero even though eval is >>>> implemented. Is it >>>> possible to turn this old code into an error? >>>> >>> In C++, no. There is no mechanism in C++ to prevent a user overloading >>> or hiding a member function. >>> >> In Python, using meta classes, yes. >> >> This is a nice exercise for those of you who want to get to know meta classes >> in Python. ;) If and when I have time I can fix this. (Heading for the states >> next Tuesday) >> >> Should we allow sub-classing of Function, but not overloading of eval? >> > > We could start by disallowing subclassing the Function class and then > if a time comes when someone wants to subclass it, we can rethink it. > >
Nooo! (Someone(tm) wants to subclass it already.) -- Marie _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev