It looks like
juce::dsp::FFT currently only supports out-of-place operation mode for complex numbers. Support for in-place operation would be a useful addition.
With the Apple engine, for example,
vDSP_fft_zop, which is only documented to support out-of-place operation; I don’t know if it is actually safe (on all OS versions, processor architectures etc.) to also call it in-place, or if
vDSP_fft_zip must be used instead. Generally speaking, I guess at least some of the engines would require a different call for in-place operation.