Casey Carter

Results 231 comments of Casey Carter

I'm having trouble connecting the issue title with the discussion to determine exactly what the problem is. I suspect you're not actually suggesting that we should add `-Wno-deprecated-declarations` to MSVC....

GCC 7.3 seems not to like something in `meta.cpp`, although it compiles fine for me locally with 7.4. @cjdb, is it time to update https://hub.docker.com/r/cjdb/cmcstl2-testbed? Or is it time for...

> Wait, MSVC has a concepts implementation? Part of one, anyway, under `/experimental:concepts`. I don't think the release compiler can do anything useful yet.

It may be helpful to look at the implementation of range-v3's `chunk_view`, which splits a range into a range of subranges of a runtime-specified size.

Reduces to: ```c++ #include int main() { auto r = __stl2::view::ext::generate([]{ return 0; }); noexcept(__stl2::begin(r)); } ``` which nicely repros the "exception specification of `begin` depends on itself" issue on...

> I'm particular, I'm blocked by the not-too-spec way you define value_type. Fixed in bb1655783d9573f880d4b62f2cd302bef4ae2d81.

It *should* be safe to unwrap those and take the function arguments by value. Any resulting ambiguities are extensions that I need to move to namespace `ext`.

Worse: it's a bug in the Standard. [`forward_list`](http://eel.is/c++draft/forwardlist#overview-4), [`list`](http://eel.is/c++draft/list.overview#3), and [`vector`](http://eel.is/c++draft/vector.overview#3) may each be instantiated with an incomplete element parameter `T` when the allocator parameter satisfies the [allocator completeness requirements](http://eel.is/c++draft/allocator.requirements.completeness),...

> Also, this solution provides strong motivation for providing relational operators for ranges, which default to `ranges::equal` (for `==` and `!=`) and `ranges::lexicographical_compare` (for ``, `=`). Egads no. WG21 *just*...

I suggest you both test with the implementation on the `benchmark_fixes` branch, which eliminates variance between the library implementations by using the cmcstl2 algorithms for both the "STL1" and "STL2"...