>From 6e765e3968ac9edd57abe961186b96f9b5f2c948 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 15 Mar 2017 01:18:56 +0100 Subject: [PATCH] Remove unnecessary definitions of pure virtual functions These definitions of pure virtual xml_serializable methods were added in a77e4974b92148155158c23687f58df3424a148e for some unexplained reason, but don't seem to be necessary because the methods are pure virtual (and have always been pure, since the initial commit). As a side effect, this removes the need for using [[noreturn]] attribute on these methods definitions, which made the program ill-formed as the attribute was not used with their declarations. --- xml_serializable.tpp | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/xml_serializable.tpp b/xml_serializable.tpp index 9bcfd90..8cfe451 100644 --- a/xml_serializable.tpp +++ b/xml_serializable.tpp @@ -184,24 +184,6 @@ void xml_serializable::immit_members_into(xml::element& root) const } } -/// Backward-compatibility serial number of class T's xml version. - -template -[[noreturn]] -int xml_serializable::class_version() const -{ - throw "Unreachable--silences a compiler diagnostic."; -} - -/// Root tag (when T is saved as the root of a document). - -template -[[noreturn]] -std::string const& xml_serializable::xml_root_name() const -{ - throw "Unreachable--silences a compiler diagnostic."; -} - template inline Y sfinae_cast (X const& x -- 2.8.3