boostorg / boostorg/multi_array

Return of bug#6554 (Compiler error dereferencing multi_array value via an iterator)

Offen
#31 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
32
Forks
39
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The bug described in https://svn.boost.org/trac10/ticket/6554 seems to return. I tried the example from this bug in godbolt: https://godbolt.org/z/4vMf8oo4q and it fails to compile. The code I used is:
```c++
#include

struct data
{
int value;
};
typedef boost::multi_array array_type;

int main() {
array_type a(boost::extents[4][5]);

// ERROR: Cannot compile this line
a.begin()->begin()->value = 7;

// Compiles successfully
(*a.begin()->begin()).value = 5;
return 0;
}
```
All versions of boost on godbolt (1.64 to 1.79) seem to be affected.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, den fehlschlagenden Ausdruck aus dem Issue mit boost/multi_array.hpp im verknüpften Godbolt-Beispiel zu reproduzieren, und vergleiche ihn anschließend mit der Dereferenzierungsform, die kompiliert. Untersuche den multi_array-Iteratorpfad, der an a.begin()->begin()->value beteiligt ist. Als erledigt gilt die Aufgabe, wenn der fehlschlagende Ausdruck kompiliert und den Wert wie gezeigt zuweist und eine Regressionstestabdeckung für dieses Beispiel vorhanden ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
data
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.