With ScopedPointer, it was possible to do this:
ScopedPointer<Knob> zoneLfo2RateKnob; addAndMakeVisible(zoneLfo2RateKnob = new Knob());
Now, after migrating to use std::unique_ptr, this is not possible anymore:
std::unique_ptr<Knob> zoneLfo2RateKnob; addAndMakeVisible(zoneLfo2RateKnob = std::make_unique<Knob>());
It would be really easy to add a specialised version of addAndMakeVisible (and addChildComponent) using std::to_address, juce could implement it for backwards compatibility pre c++20 (pretty trivial even without concepts).