調べたこと。
Rust は pub(crate)
で crate 内のみに公開できる。
https://doc.rust-lang.org/reference/visibility-and-privacy.html
bouzuya/rust-sandbox の rfc2631 で pub struct PublicKey(BigUint)
のような構造体を定義した。 crate 内部では BigUint
を公開したい。 crate 外部からは BigUint
を隠したい。そこで pub(crate)
を使用して pub struct PublicKey(pub(crate) BigUint)
とした。
その後で field を pub(crate)
にするのは避けてメソッドを pub(crate)
にした。好みの問題ではある。
今日は結婚記念日だった。 2015-09-18 からなので 2021-09-18 で結婚して 6 年が経った。 7 年目に入る。
焼き肉を食べに行った。油がきつかった。肉のせいかもしれないけどもしかしたら年齢かも……と思ってしまった。
ABC219 。 E でドーナツ状のケースを思いつかず解けなかった。 D はたくさんの WA を出したので不安だったけど意外と解かれなかった。よく分からない。
『ホビット 決戦のゆくえ』を観た。
今日のコミット。
- rust-atcoder 2 commits
- rust-sandbox 13 commits
- rfc2631: 0.3.0
- rfc2631: add readme
- rfc2631: improve debug format
- rfc2631: add wikipedia example
- rfc2631: add some unit tests
- rfc2631: add Group::create_key_pair_from_private_key
- rfc2631: impl Clone
- rfc2631: remove pub(crate) from field
- rfc2631: ignore Cargo.lock
- rfc2631: extract modules
- rfc2631: add SharedSecret::{from_bytes_be,to_bytes_be}
- rfc2631: add PrivateKey::{from_bytes_be,to_bytes_be}
- rfc2631: add PublicKey::{from_bytes_be,to_bytes_be}