We had a major bug that AutoTuner and GraphLearner inherited the phash (and hash) method of Learner.
Maybe the phash and hash method of the Learner should check whether the learner has construction arguments and if it does, throw an error when the inherited method is called. Thereby we avoid incorrectly inherited phash methods in the future.
Having constructor arguments is not directly connected to a correct implementation of the phash in the derived class (and would be a bit too restrictive?).
We had a major bug that
AutoTuner
andGraphLearner
inherited thephash
(andhash
) method ofLearner
. Maybe thephash
andhash
method of theLearner
should check whether the learner has construction arguments and if it does, throw an error when the inherited method is called. Thereby we avoid incorrectly inheritedphash
methods in the future.