This is an archive of the discontinued LLVM Phabricator instance.

rvalue stream operators (1203 and 2534)
AbandonedPublic

Authored by zoecarver on Jun 4 2019, 9:04 PM.

Details

Reviewers
mclow.lists
EricWF
ldionne
Group Reviewers
Restricted Project
Summary

This patch fixes issues 1203 and 2534. 1203 hasn't been adopted by the standard but was already partially supported. I think it is better to fully support it (which cannot break existing code) rather than remove partial support of it which will remove functionality people may rely on.

Diff Detail

Event Timeline

zoecarver created this revision.Jun 4 2019, 9:04 PM
zoecarver updated this revision to Diff 203069.Jun 4 2019, 9:08 PM
zoecarver marked an inline comment as done.
  • update status
test/std/input.output/iostream.format/input.streams/istream.rvalue/perfect_forwarding.pass.cpp
2

I didn't include a test like this for ostream because I didn't think it would be meaningful (I can if you want though).

This may have slipped through the cracks — ping (but no rush).

mclow.lists added inline comments.Aug 26 2019, 4:16 PM
test/std/input.output/iostream.format/input.streams/istream.rvalue/ios_base_operator_overload_resolution.fail.cpp
31

Instead of std::move(is), you could just use std::istringstream()

test/std/input.output/iostream.format/input.streams/istream.rvalue/perfect_forwarding.pass.cpp
41

Why A and B here? What's the point of having two different types?
And do A and B have stream insertion operations?

zoecarver updated this revision to Diff 217268.Aug 26 2019, 4:47 PM
zoecarver edited the summary of this revision. (Show Details)
  • fix based on review
Herald added a project: Restricted Project. · View Herald TranscriptAug 26 2019, 4:47 PM
Herald added a subscriber: christof. · View Herald Transcript

Does this look good? I would like to get it committed :)

ldionne added a reviewer: Restricted Project.Nov 2 2020, 2:37 PM
zoecarver abandoned this revision.Feb 17 2021, 11:23 AM

Resolved by c90dee1 and D96885.