Mikhail Koviazin created AVRO-3942:
--------------------------------------
Summary: MemoryOutputStream yields a compiler warning
Key: AVRO-3942
URL: https://issues.apache.org/jira/browse/AVRO-3942
Project: Apache Avro
Issue Type: Improvement
Components: c++
Reporter: Mikhail Koviazin
Upon building with clang, MemoryOutputStream raises a compilation warning:
/home/parallels/workspace/avro/lang/c++/impl/Stream.cc:129:27: warning: class
with destructor marked 'final' cannot be inherited from
[-Wfinal-dtor-non-final-class]
120 | class MemoryOutputStream : public OutputStream {
| final
121 | public:
122 | const size_t chunkSize_;
123 | std::vector<uint8_t *> data_;
124 | size_t available_;
125 | size_t byteCount_;
126 |
127 | explicit MemoryOutputStream(size_t chunkSize) :
chunkSize_(chunkSize),
128 | available_(0),
byteCount_(0) {}
129 | ~MemoryOutputStream() final {
| ^
/home/parallels/workspace/avro/lang/c++/impl/Stream.cc:120:7: note: mark
'avro::MemoryOutputStream' as 'final' to silence this warning
120 | class MemoryOutputStream : public OutputStream {
| ^
It should be fixed by either marking the class as `final` or removing `final`
keyword from destructor. I think the most logical one is the former. I can do
this if there're no objections.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)