Yes, I agree with the pass-by-value semantics there. Perhaps I’m being dense here (long day), but I’m wrestling with how a truly new Tensor object is created from the existing one without a copy constructor. This probably points up a gap in my understanding of copy/move semantics and the like, but what does the compiler do in that case? (Other than, of course, to just push the original tensor onto the stack…)
Sorry, I didn’t want to turn this into a meta-discussion about C++. I do appreciate your engaging with me on this. I can always just look at the disassembled code…