-/** Specialization of is_exactly_a<fail>(obj) for fail objects. */
-template<> inline bool is_exactly_a<fail>(const basic & obj)
-{
- return obj.tinfo()==TINFO_fail;
-}
+ // non-virtual functions in this class
+protected:
+ void do_print(const print_context & c, unsigned level) const;
+};
+GINAC_DECLARE_UNARCHIVER(fail);