mizvekov wrote: Yes the correct behavior for return type deduction for a function with no non-discarded return statements is for it to be deduced as void: https://godbolt.org/z/qaYebb5q9 https://github.com/llvm/llvm-project/pull/153921