Hewill Kang

Results 8 issues of Hewill Kang

When a temporary `iter_value_t` needs to be constructed, MSVC-STL usually uses copy initialization through `iter_value_t val = *it;` or `iter_value_t val = ranges::iter_move(it);`. However, this is not exposed in the...

bug
ranges

This is basically a sibling of #4102. https://github.com/microsoft/STL/blob/1c59a205787f4fdcd9c20decc8fa6dfa9096d394/stl/inc/algorithm#L7614-L7630 `auto _Temp = _RANGES iter_move(_Mid)` unexpectedly constructed `remove_cvref_t`. Contrived testcase: https://godbolt.org/z/b7YqKPMej

bug
ranges

https://github.com/microsoft/STL/blob/1c59a205787f4fdcd9c20decc8fa6dfa9096d394/stl/inc/algorithm#L10108-L10116 The last `auto _Prev = *_UFirst;` indicates that we constructed `remove_cvref_t` from `iter_reference_t`, which is not guaranteed to be well-formed by the function's constraints. I believe we should do...

bug
ranges

Hi Howard, First of all, thank you for bringing such a wonderful library, and I am very happy that C++20 has finally adopted it. I would like to know why...

### Describe the bug The commented `const` in the template parameter is still rendered in keyword blue. ### Steps to reproduce https://godbolt.org/z/hqEd49PxG ### Expected behavior The commented `const` in the...

bug

https://github.com/microsoft/STL/blob/04ee87830a404437f1691d6a3e8809e4986d8493/stl/inc/ranges#L2831-L2836 Since `range_difference_t` is not guaranteed to be the same as `range_difference_t`, we'd better do type casting before calling `std::min`. The standard has no such problem because it always calls...

bug
ranges

This range constructor is specified in [[ispanstream.cons]](https://eel.is/c++draft/ispanstream.cons) as: > `template explicit basic_ispanstream(ROS&& s)` > -3- _Constraints_: `ROS` models `ranges​::​borrowed_range`. `!convertible_to && convertible_to` is `true`. > -4- _Effects_: Let `sp` be...

bug
ranges

```cpp #include #include int main() { std::vector v; auto cmp = [](int&, int&) { return true; }; std::ranges::sort(v, cmp); std::ranges::inplace_merge(v, v.begin(), cmp); // hard error } ``` https://godbolt.org/z/soe8sa75q The above...

bug
ranges