Excellent docs on numeric casting in C++
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- cpp
- Bereich
- build-system, tooling
Rechercherichtung
Beginne damit, Issue #37 und die darin referenzierten Diskussionen und Pull Requests zu prüfen, um die beabsichtigte Konfiguration der Warnungen zu verstehen. Untersuche anschließend die Build-Konfiguration des Repositorys und kompiliere mit den vorgeschlagenen Konvertierungswarnungen. Erledigt ist die Aufgabe, wenn die Warnungen aktiviert sind und die daraus resultierenden bestehenden Warnungen zu Abschneiden, Verengung, Überlauf oder impliziter Konvertierung behoben oder ausdrücklich unterdrückt wurden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Without strict compiler warnings, it is possible to write quite a bit of C++ without it be obvious once needs to study the details of numeric casting. Implicit conversion will convert various integer types to other integer types and to floating point types, quietly and hopefully correctly.
Because we can't have correct code based on hope, we should instead enable warnings from the get go that warn about implicit conversion and specifically truncating or narrowing conversion and convertions that might overflow.
So, we want to enable warnings like -Wconversion per #37.
What this means is that you'll get loud warnings right away about converting types and will need to figure out how to avoid or suppress them correctly, to fix the potential existing bugs they hint at and avoid creating new bugs in the process.
Refs https://github.com/mapbox/node-cpp-skel/pull/78#discussion_r144410926 https://github.com/mapbox/carmen-cache/issues/94
refs https://github.com/mapbox/gzip-hpp/pull/19#issuecomment-336537155
/cc @mapsam @GretaCB @flippmoke
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 110
- Forks
- 17
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus mapbox/cpp
-
glossary
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
-
Docs on ABIs Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
-
clang-tidy v. -Weffc++ Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
typelevel/sbt-typelevel#929 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
openSUSE/python-rpm-macros#219 ·
-
HMR stops working Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Qiskit/mcp-servers#221 ·