This is part of the Library Fundamentals 2 TS
Details
Diff Detail
Event Timeline
- Please add the header to test/libcxx/double_include.sh.cpp
- Please add a _LIBCPP_VERSION test in test/libcxx/experimental/iterator
- The ostream_joiner type and it's members should be given visibility attributes.
include/experimental/iterator | ||
---|---|---|
62 ↗ | (On Diff #46059) | Wrong namespace. This gives std::experimental::fundamentals_v2. This brings up the bigger question of how we want to manage two TS's. |
64 ↗ | (On Diff #46059) | Is _Delim allowed to be a reference? We might get better diagnostics if we static assert some requirements on _Delim. |
85 ↗ | (On Diff #46059) | People are going to try and use this as an assignment operator. We either need to static assert in the body, or disable the operator entirely. |
94 ↗ | (On Diff #46059) | Unrelated note: Are we ever going to stop guarding noexcept behind a macro? |
test/std/experimental/iterator/nothing_to_do.pass.cpp | ||
2 | LIT will only emit a warning if all sub directories are empty as well. Do we need this file for testit^ | |
test/std/experimental/iterator/ostream.joiner/ostream.joiner.creation/make_ostream_joiner.pass.cpp | ||
36 | Can you test that joiner has the expected type? | |
test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.assign.pass.cpp | ||
38 | Nice test. Is there a reason to pass the delimiter as const here? It seems equally valid that the mutating delimiter has a non-const operator<<. |
include/experimental/iterator | ||
---|---|---|
85 ↗ | (On Diff #46059) | Disregard the comment above. It's not possible to call this with an instance of ostream_joiner. I thought it might be possible like it is with constructors. |
include/experimental/iterator | ||
---|---|---|
62 ↗ | (On Diff #46059) | I think that the right thing is to flip all the LFTS over to v2. |
94 ↗ | (On Diff #46059) | Maybe. Depends on how much work it turns out to be. I don't want to make that decision here, though. |
test/std/experimental/iterator/nothing_to_do.pass.cpp | ||
2 | Well, if anyone was still running testit, yes. See test/std/experimental/optional or string_view for similar tests. | |
test/std/experimental/iterator/ostream.joiner/ostream.joiner.creation/make_ostream_joiner.pass.cpp | ||
36 | Sure. | |
test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.assign.pass.cpp | ||
38 | I'll add that as well. |
One last thing. The spec implicitly defines the copy/move/assignment operators for "ostream_joiner" by making "_Delim" an exposition only member. Essentially "ostream_joiner" should only copy/moveable if "_Delim" is. I think we should add tests that ensure we actually follow this behavior.
test/std/experimental/iterator/nothing_to_do.pass.cpp | ||
---|---|---|
3 | Maybe call it "include_header.pass.cpp" then. |
LIT will only emit a warning if all sub directories are empty as well. Do we need this file for testit^