llvm-project
llvm-project copied to clipboard
std::ostream_iterator causes false "dangling pointer" positive
The following code should be considered correct (if you want to print the string "123"):
std::vector<int> z { 1, 2, 3 };
std::copy(z.begin(), z.end(),
std::ostream_iterator<int>(std::cout));
However, I get the following diagnostic
warning: passing a dangling pointer as argument [-Wlifetime]
std::ostream_iterator<int>(std::cout));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: it was never initialized here
std::ostream_iterator<int>(std::cout));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
See full repro case: https://godbolt.org/z/Rt3P6X
Thanks you for taking the time to report this bug!
We will look into it.