unqualified call to `get<T>` with a non-`boost::optional` type should not match
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- cpp
- Ambito
- backend-api-design
Direzione di ricerca
Inizia con il riproduttore minimo in C++ presente nell’issue ed esamina gli overload introdotti da boost/optional.hpp, confrontando le chiamate a get qualificate e non qualificate. Riproduci il fallimento usando l’esempio collegato di Compiler Explorer; il lavoro è completato quando la chiamata non qualificata mostrata compila senza tentare di istanziare boost::optional.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
boost::get<T>(boost::optional<T> ...) overload matches for a non-boost::optional type when boost namespace is associated with argument's type of unqualified call to get<T>.
template <typename U>
struct X {};
template <typename T, typename U>
inline int get(X<U> const&) { return 0; }
namespace boost {
struct any_type_in_boost_namespace {};
}
#include <boost/optional.hpp>
class tag;
int main()
{
get<tag>(X<boost::any_type_in_boost_namespace>{});
}
The example obviously should compile, but instead it tries to instantiate boost::optional<tag> and fails the compilation.
- Lingua principale
- C++
- Stelle
- 60
- Fork
- 75
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di boostorg/optional
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
CMake tests fail Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Tutte le issue di boostorg/optional
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
games-on-whales/wolf#509 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
bug-unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100