Range Algorithms do not compile with `std::span`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Comienza con el ejemplo mínimo enlazado en el issue y reproduce el fallo en boost::range::find con std::span. Rastrea el manejo del iterador de rango implicado en ese punto de entrada; el trabajo estará terminado cuando la llamada a std::span mostrada compile, mientras los casos existentes de boost::span y std::ranges sigan funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Algorithms like find_if do not compile when used on instances of std::span. They work with boost::span.
You can try this code on https://godbolt.org/z/Mq4GhqMYn:
#include <ranges>
#include <span>
#include <boost/core/span.hpp>
#include <boost/range/algorithm/find.hpp>
constexpr int a[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
boost::span boost_span{a};
std::span std_span{a};
auto foo0() {
return boost::range::find(boost_span, 2); // ok
}
auto foo1() {
return boost::range::find(std_span, 2); // fails
}
auto foo2() {
return std::ranges::find(boost_span, 2); // ok
}
auto foo3() {
return std::ranges::find(std_span, 2); // ok
}
The error message is something like
error: no type named 'type' in 'struct boost::range_iterator<const std::span<const int, 9>, void>'
- Lenguaje dominante
- C++
- Estrellas
- 45
- Forks
- 104
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de boostorg/range
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
Todos los issues de boostorg/range
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
tesseract-ocr/tesseract#4627 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
lxqt/lxqt-panel#2492 ·
-
bug-unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
[models/demos/gemma4 dFlash]: _shard_argmax returns a view of a force-freed tensor when rows == 1Abiertocommunity
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
tenstorrent/tt-metal#57989 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100