how best to skip comments?

オープン
#460 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
rust
領域
backend

調査の方向性

Start by reading the Reader event APIs and the comment handling paths in the repository; the issue does not name files or tests. Compare buffered and unbuffered reading to identify a pattern for skipping comment events, then check whether the approach preserves the reader’s input and buffer constraints. Done means providing a workable way to ignore comments during buffered reading.

索引モデルが issue の本文から書いたものです。

説明

enhancement help wanted

I'm looking at porting some applications from xml-rs to quick-xml, and one of the blockers I've hit is that quick_xml doesn't have a way to quickly strip all comments (à la xml-rs's ParserConfig::ignore_comments(true)).

A wrapper function like

fn read_event<'a, 'b, R: BufRead>(
    reader: &'a mut Reader<R>,
    buf: &'b mut Vec<u8>,
) -> Result<Event<'b>> {
    loop {
        let event = reader.read_event(buf)?;
        if !matches!(event, Event::Comment(_)) {
            return Ok(event);
        }
    }
}

seems appealing but of course doesn't work because of our friend

`*buf` was mutably borrowed here in the previous iteration of the loop

Switching to read_event_unbuffered and requiring the input to be &[u8] works but isn't ideal.

Are there any good patterns for ignoring comments?

主要言語
Rust
スター
1.6k
フォーク
299
平均マージ
2日 4時間
マージ済み PR(30日)
9

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

tafia/quick-xml のほかの issue

tafia/quick-xml の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。