Missing safety comment: which variants are upheld?
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- rust
- Bereich
- networking
Rechercherichtung
Beginne bei src/proto/h2/server.rs ungefähr in Zeile 478 und untersuche UpgradedSendStream::new. Lies zuerst den Dokumentationslink zu den Rust API Guidelines und bestimme dann, welche Invarianten der Safety-Kommentar beschreiben sollte und welche Invarianten der Konstruktor voraussetzt. Als erledigt gilt die Aufgabe, wenn beide Stellen diese Invarianten eindeutig dokumentieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Per Rust API Guidelines, unsafe functions should be documented with invariants:
https://rust-lang.github.io/api-guidelines/documentation.html
During review of the source, it was pointed out there is no safety comment here that describes what invariants are upheld:
https://github.com/hyperium/hyper/blob/90eb95f62a32981cb662b0f750027231d8a2586b/src/proto/h2/server.rs#L478
Also UpgradedSendStream::new does not state which invariants need to be upheld.
Would it be possible to add this?
- Vorherrschende Sprache
- Rust
- Sterne
- 16.3k
- Forks
- 1.8k
- Ø Merge
- 4 T. 10 Std.
- Gemergte PRs (30 T.)
- 21
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
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 hyperium/hyper
-
C-feature
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
hyperium/hyper#2652 · 4 Reaktionen ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Write a HIP for `Body::poll_progress()`Evtl. vergeben @cratelyn hat das vor 2 Tagen übernommen. OffenA-body B-rfc C-feature
hyperium/hyper#4228 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 74/100
hyperium/hyper#4211 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Upgraded HTTP/2 CONNECT streams cannot be reset, so a failed tunnel looks like a clean closeEvtl. vergeben @jeremyjpj0916 hat das vor 11 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
Maintainer antworten meist innerhalb von 2 Tagen
-
hyper-util legacy client: an HTTP/1 request can hang forever when the connection closes while the request is being queuedEvtl. vergeben @akasakariko hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 62/100
hyperium/hyper#4202 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
Ähnliche Issues
-
[Feature]: [P3] engine-rs: the package source hash should ignore line endings and untracked filesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
maniator/verticopolis#880 ·
Maintainer antworten meist innerhalb von 1 Tag
-
IO.get_env on Node truncates names at embedded NULEvtl. vergeben @Yi-111-a hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
HigherOrderCO/Bend#1449 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag