Tristan Brindle

Results 68 comments of Tristan Brindle
trafficstars

I do like the idea of having a project-wide clang format config to keep everything consistent, and to make life easier for new contributors. The only problem is that I'm...

> Or is it unrelated? This is a different to #3800

There are a couple of places in the `join_view` constructor where iterators are copied, but these are easily solved with `std::move`. The difficulty is with `formatter::format()`: https://github.com/fmtlib/fmt/blob/810d1750f1579f19d842b6f3ca6671f714375444/include/fmt/ranges.h#L587-L603 Line 590 takes...

Changing the signature of `formatter::format` to ```cpp template auto format(join_view& value, FormatContext& ctx) const -> decltype(ctx.out()) ``` (that is, removing the `const` from the `join_view` argument) generates the following from...

GCC gives a little more context: an error occurs in the return value of `spec_field::format`: https://github.com/fmtlib/fmt/blob/3c9608416aed5b6e671f06c5fd585860573bbce5/include/fmt/compile.h#L197-L204 Here, `get_arg_checked(args...)` returns `const join_view&`, which causes the error as it cannot be passed...

Subclassing `std::vector` and converting to `span` seems to work correctly in a quick test: https://gcc.godbolt.org/z/Y68boPvYo Are you able to give any more information about the error message that might help...

Thank you very much for the detective work @kimci86! After some more investigation, this seems to be caused by [CWG issue 330](https://cplusplus.github.io/CWG/issues/330.html), which was reported in 2002 and finally resolved...

The goal is to provide `span` for older compilers *to the extent supported by the language*. If the core language is telling us that it doesn't think the pointers are...

I haven't documented this anywhere, but I definitely should, so here we go... For single-pass sequences, there is no reference stability: that is, if you're holding on to a reference...

The particular example I had in mind was a `rotate` adaptor: ```cpp template auto rotate(Seq seq, cursor_t mid) -> multipass_sequence auto; ``` This is a relatively easy adaptor to write:...