Users can write 
        for(sregex_iterator i(s.begin(), s.end(), regex("meow")), end; i != 
end; ++i)

binding a temporary regex to const regex& and storing a pointer to it. 
This will compile silently, triggering undefined behavior at runtime. 

Fixing this involves defining constructors for the various regex iterator types 
from rvalue regexes, and then marking them as “deleted”.
And tests.

-- Marshall

Marshall Clow     Idio Software   <mailto:[email protected]>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly 
moderated down to (-1, Flamebait).
        -- Yu Suzuki

Attachment: LWG2332.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to