diff --git a/src/librawspeed/metadata/CameraMetaData.h b/src/librawspeed/metadata/CameraMetaData.h index e0fd83143..c745afebf 100644 --- a/src/librawspeed/metadata/CameraMetaData.h +++ b/src/librawspeed/metadata/CameraMetaData.h @@ -41,7 +41,8 @@ struct CameraId { } }; -class CameraMetaData final { +// NOTE: *NOT* `final`, could be derived from by downstream. +class CameraMetaData { public: CameraMetaData() = default; diff --git a/test/librawspeed/metadata/CameraMetaDataTest.cpp b/test/librawspeed/metadata/CameraMetaDataTest.cpp index 8d3af21a4..0e9c25350 100644 --- a/test/librawspeed/metadata/CameraMetaDataTest.cpp +++ b/test/librawspeed/metadata/CameraMetaDataTest.cpp @@ -36,6 +36,10 @@ namespace rawspeed_test { static const std::string camfile(RAWSPEED_SOURCE_DIR "/data/cameras.xml"); +TEST(CameraMetaDataTest, CompileTimeCanInherit) { + struct MyCameraMetaData : public CameraMetaData {}; +} + TEST(CameraMetaDataTest, CamerasXml) { ASSERT_NO_THROW({ CameraMetaData Data(camfile.c_str()); });