[PATCH] D47090: Implement C++17 <memory_resource>.
Eric Fiselier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 18 23:51:58 PDT 2018
EricWF added a comment.
In https://reviews.llvm.org/D47090#1105389, @Quuxplusone wrote:
> > I would prefer if we completed <experimental/memory_resource> (according to the current standard, not the LFTS spec), and then moved it.
> > Would you be willing to do that instead?
>
> Let me see if I understand. libc++'s `<experimental/memory_resource>` differs from C++17 `<memory_resource>` in at least these ways:
> (A) It's missing `monotonic_buffer_resource` and `{un,}synchronized_pool_resource`
Those were initially in the LFTS spec, I think they're in LFTS v2.
> (B) It's got different semantics around uses-allocator construction because of https://wg21.link/lwg2969
Issue resolutions should probably be applied to the experimental versions as well.
> (C) It's got a different header name
I don't think this is relevant.
> This patch is basically proposing to fix things in the order C-A-B (and fix C by making copies of everything); you're proposing to fix things in the order A-B-C (and fix C by moving everything).
>
> I have no objection to fixing A in `<experimental/memory_resource>` if people think that'd be useful. I didn't do that in this patch simply because I'd observed other `<experimental/*>` headers already getting replaced with `#error` messages, and it seemed like any further work on the `<experimental/*>` headers would have been wasted.
>
> I don't know who's using `<experimental/memory_resource>` today, but in theory I worry that fixing B in `<experimental/memory_resource>` (before doing C) might actually break someone's code.
I'm not concerned with it. We make no promises about ABI and API stability for <experimental> headers. Do we implement the LFTS v1, v2, or in future, v3, API? I would rather follow the standard spec. I believe
it will actually make transitioning from `<experimental/foo>` to `<foo>`, since the behaviour is the same.
Repository:
rCXX libc++
https://reviews.llvm.org/D47090
More information about the cfe-commits
mailing list