Since the copy is made on the caller's side of the call, it is not part of what your function does. It can therefore not be controlled by your function and consequently, you can not include this information in the noexcept
specification.
The only thing you could do is to play it safe and add both options to your noexcept
specification. Of course, that means you are getting some false-negatives.