bouzuya.hatenablog.com

ぼうずやのにっき

が便利だ

twiq 実装メモ (37)

今朝は tonic-build で生成されたコードから一部のドキュメントコメントを削除しようとしていた。 prost_build::Config と tonic_build::Builder::compile_with_config で proto の message や field はなんとかなるものの service や rpc は tonic-build crate を修正しないとダメそう。

https://twitter.com/bouzuya/status/1585458763825401857

  • crates:tonic-build で生成したコードは proto のコメントをドキュメントコメントとして含む
  • ドキュメントコメントにあるコードブロックは cargo test でテストだと解釈されてしまう
  • 結果として生成したコードのコメントが原因のエラーが発生した
  • 回避策 1: 別 crate としてコンパイルする (テストは動かさない)
  • 回避策 2: cargo test でドキュメントのコメントを停止する (方法があるはず)
  • 回避策 3: tonic-build に手を入れてなんとかする
  • 今回は回避策 3 を狙った

tonic-build の動作の調査。

[patch.crates-io]


競技プログラミングの鉄則』 6.4 一手先を考える。区間スケジューリング問題。一手先の状況が最も良いものに持っていく貪欲法。


今日のコミット。