Skip to content
This repository was archived by the owner on Jul 3, 2024. It is now read-only.
This repository was archived by the owner on Jul 3, 2024. It is now read-only.

std::ostream_iterator causes false "dangling pointer" positive  #93

@davidwin

Description

@davidwin

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions