[education/rkward] rkward: Add missing override keyword on several dtors

Thomas Friedrichsmeier null at kde.org
Sat Jan 31 08:17:04 GMT 2026


Git commit c6ef1e0279dc2fceac1f02d4125f945960cbf4ac by Thomas Friedrichsmeier.
Committed on 31/01/2026 at 08:16.
Pushed by tfry into branch 'master'.

Add missing override keyword on several dtors

M  +1    -2    rkward/core/rcontainerobject.h
M  +1    -1    rkward/core/renvironmentobject.h
M  +1    -1    rkward/core/rfunctionobject.h
M  +1    -1    rkward/core/rkmodificationtracker.h
M  +3    -3    rkward/core/rkpseudoobjects.h
M  +1    -1    rkward/core/rkrownames.h
M  +1    -1    rkward/rbackend/rkrbackend.h
M  +0    -2    rkward/settings/rksettingsmodule.h

https://invent.kde.org/education/rkward/-/commit/c6ef1e0279dc2fceac1f02d4125f945960cbf4ac

diff --git a/rkward/core/rcontainerobject.h b/rkward/core/rcontainerobject.h
index cdb5201e1..d77dcd673 100644
--- a/rkward/core/rcontainerobject.h
+++ b/rkward/core/rcontainerobject.h
@@ -22,8 +22,7 @@ Internal representation of objects in the R-workspace that contain other objects
 class RContainerObject : public RObject {
   public:
 	RContainerObject(RObject *parent, const QString &name);
-
-	~RContainerObject();
+	~RContainerObject() override;
 
 	/** update the given child with the given data. Since the child may be mismatching, and may need to be recreated, returns a pointer to the child (old or new) */
 	RObject *updateChildStructure(RObject *child, RData *new_data, bool just_created = false);
diff --git a/rkward/core/renvironmentobject.h b/rkward/core/renvironmentobject.h
index 5942c4a6e..da425b80e 100644
--- a/rkward/core/renvironmentobject.h
+++ b/rkward/core/renvironmentobject.h
@@ -20,7 +20,7 @@ This class roughly corresponds to an environment in R. It keeps a list of all ob
 class REnvironmentObject : public RContainerObject {
   public:
 	REnvironmentObject(RContainerObject *parent, const QString &name);
-	~REnvironmentObject();
+	~REnvironmentObject() override;
 
 	using RObject::updateFromR;
 	/** like updateFromR, but only update new / removed symbols from R. Theoretically this could be defined in RContainerObject, but the only use case is for environments. */
diff --git a/rkward/core/rfunctionobject.h b/rkward/core/rfunctionobject.h
index 352ec39cd..bb2074878 100644
--- a/rkward/core/rfunctionobject.h
+++ b/rkward/core/rfunctionobject.h
@@ -20,7 +20,7 @@ Internal representation of function objects in the R workspace
 class RFunctionObject : public RObject {
   public:
 	RFunctionObject(RObject *parent, const QString &name);
-	~RFunctionObject();
+	~RFunctionObject() override;
 
 	/** reimplemented from RObject to handle function arguments */
 	bool updateStructure(RData *new_data) override;
diff --git a/rkward/core/rkmodificationtracker.h b/rkward/core/rkmodificationtracker.h
index 4b3d09a5b..060b6e5a5 100644
--- a/rkward/core/rkmodificationtracker.h
+++ b/rkward/core/rkmodificationtracker.h
@@ -115,7 +115,7 @@ This class takes care of propagating object-modifications to all editors/variabl
 class RKModificationTracker : public RKObjectListModel {
   public:
 	explicit RKModificationTracker(QObject *parent);
-	~RKModificationTracker();
+	~RKModificationTracker() override;
 	static RKModificationTracker *instance() { return _instance; };
 
[suppressed due to size limit]
diff --git a/rkward/core/rkpseudoobjects.h b/rkward/core/rkpseudoobjects.h
index 348af972c..0abbb53f2 100644
--- a/rkward/core/rkpseudoobjects.h
+++ b/rkward/core/rkpseudoobjects.h
@@ -23,7 +23,7 @@ This class represents a "pseudo" list of the S4 slots of the corresponding paren
 class RSlotsPseudoObject : public RContainerObject {
   public:
 	explicit RSlotsPseudoObject(RObject *parent);
-	~RSlotsPseudoObject();
+	~RSlotsPseudoObject() override;
 
 	QString getFullName(int) const override;
 	QString makeChildName(const QString &short_child_name, int) const override;
@@ -39,7 +39,7 @@ rather call it a "special" object, instead).
 class RKNamespaceObject : public REnvironmentObject {
   public:
 	explicit RKNamespaceObject(REnvironmentObject *package, const QString &name = QString());
-	~RKNamespaceObject();
+	~RKNamespaceObject() override;
 
 	QString getFullName(int) const override;
 	QString makeChildName(const QString &short_child_name, int) const override;
@@ -63,7 +63,7 @@ It exists only once, as a direct child of the RObjectList.
 class RKOrphanNamespacesObject : public REnvironmentObject {
   public:
 	explicit RKOrphanNamespacesObject(RObjectList *parent);
-	~RKOrphanNamespacesObject();
+	~RKOrphanNamespacesObject() override;
 
 	QString getFullName(int options) const override;
 	QString makeChildName(const QString &short_child_name, int options) const override;
diff --git a/rkward/core/rkrownames.h b/rkward/core/rkrownames.h
index 9e7c00eda..bd3614e9c 100644
--- a/rkward/core/rkrownames.h
+++ b/rkward/core/rkrownames.h
@@ -15,7 +15,7 @@ This object is special in that it exists during editing, only. It is not represe
 class RKRowNames : public RKVariable {
   public:
 	explicit RKRowNames(RContainerObject *parent);
-	~RKRowNames();
+	~RKRowNames() override;
 
 	QString getFullName(int) const override;
 	/** Reimplemented to do nothing. There is no metadata on the rownames. */
diff --git a/rkward/rbackend/rkrbackend.h b/rkward/rbackend/rkrbackend.h
index 849f0c8a7..8764f1f8b 100644
--- a/rkward/rbackend/rkrbackend.h
+++ b/rkward/rbackend/rkrbackend.h
@@ -58,7 +58,7 @@ class RKRBackend : public RKROutputBuffer {
 	/** constructor. Only one RKRBackend should ever be created, and that happens in RInterface::RInterface (). */
 	RKRBackend();
 	/** destructor */
-	virtual ~RKRBackend();
+	~RKRBackend() override;
 
 	/** interrupt processing of the current command. This is much like the user pressing Ctrl+C in a terminal with R. This is probably the only non-portable function in RKRBackend, but I can't see a good way around placing it here, or to make it portable. */
 	static void interruptProcessing(bool interrupt);
diff --git a/rkward/settings/rksettingsmodule.h b/rkward/settings/rksettingsmodule.h
index 33ea25538..b09fc5bec 100644
--- a/rkward/settings/rksettingsmodule.h
+++ b/rkward/settings/rksettingsmodule.h
@@ -67,7 +67,6 @@ template <typename T, typename STORAGE_T = T>
 class RKConfigValue : public RKConfigBase {
   public:
 	RKConfigValue(const char *name, const T &default_value) : RKConfigBase(name), value(default_value) {};
-	~RKConfigValue() {};
 
 	void loadConfig(KConfigGroup &cg) override {
 		value = (T)cg.readEntry(name, (STORAGE_T)value);
@@ -123,7 +122,6 @@ class RKConfigGroup : public RKConfigBase {
 		for (size_t i = 0; i < count; ++i)
 			values[i] = (_values + i);
 	}
-	~RKConfigGroup() {};
 	void loadConfig(KConfigGroup &cg) override {
 		KConfigGroup lcg = cg;
 		if (name && name[0]) {



More information about the rkward-tracker mailing list