Conversation
… `common` drawer Two structural changes, neither of which changes behaviour. `pop_request_hash_from_url` built a `RequestHash` but lived in `mars::ad_response`, a module that otherwise holds MARS wire types. It is now `RequestHash::pop_from_url` in `http_cache::request_hash`, next to the type it constructs and the rest of its API. Its test moved with it and is named for what it asserts. The only call sites are still commented out pending the Nimbus cache-invalidation work, so the `allow(dead_code)` and its TODO move across unchanged. `common` held `bytesize` and `clock` — two unrelated, self-contained modules filed under a name that says nothing about either. Both are now top-level `crate::bytesize` and `crate::clock`, and `common.rs` is gone. Imports updated at the 14 call sites; no code inside either module changed. `fmt`, `clippy --all-targets -D warnings` and the 101 unit tests are green.
261d5df to
b2bce14
Compare
|
At first being a method on the impl felt a bit odd because it was static and felt a little bit javaish, but since it is returning an optional instance out of it it does make more sense. It's kinda like a |
|
This makes sense to me. The 'ideal' place for such a mutable |
|
Sorry for the late response. That specific change came from the free-function rule. When a free function takes or returns a local type, the rule expects that function to live on the type, usually in an impl block. I agree this looks a lot like So the rule doesn't conflict with |
Two small refactors in
ads-client, no behaviour change.pop_request_hash_from_urlbuilt aRequestHashbut lived inmars::ad_response, which otherwise holds MARS wire types. It's nowRequestHash::pop_from_urlover inhttp_cache::request_hash, next to the type it builds, and its test moved with it. Both call sites are still commented out pending the Nimbus cache invalidation work, so theallow(dead_code)came across unchanged.commonheldbytesizeandclock: two unrelated modules under a name that says nothing about either. They're nowcrate::bytesizeandcrate::clock. Imports updated at 14 call sites, nothing inside either module touched.Independent of #7612, doesn't depend on it.
Pull Request checklist
crate::common::{bytesize, clock}becomescrate::{bytesize, clock}, but consumers use the uniffi API.fmtandclippy --all-targets -- -D warningsclean, 101 unit tests pass.