Libera-Chat / sable

GNU Affero General Public License v3.0
84 stars 8 forks source link

large size difference between variants #121

Open progval opened 5 months ago

progval commented 5 months ago

Clippy points out these issues:

warning: large size difference between variants
  --> sable_network/src/network/update.rs:34:1
   |
34 | / pub enum HistoricMessageSource {
35 | |     Server(state::Server),
   | |     --------------------- the second-largest variant contains at least 128 bytes
36 | |     User(HistoricUser),
   | |     ------------------ the largest variant contains at least 656 bytes
37 | |     Unknown,
38 | | }
   | |_^ the entire enum is at least 656 bytes
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
   = note: `#[warn(clippy::large_enum_variant)]` on by default
help: consider boxing the large fields to reduce the total size of the enum
   |
36 |     User(Box<HistoricUser>),
   |          ~~~~~~~~~~~~~~~~~

warning: large size difference between variants
  --> sable_network/src/network/update.rs:54:1
   |
54 | / pub enum HistoricMessageTarget {
55 | |     User(HistoricUser),
   | |     ------------------ the largest variant contains at least 656 bytes
56 | |     Channel(state::Channel),
   | |     ----------------------- the second-largest variant contains at least 176 bytes
57 | |     Unknown,
58 | | }
   | |_^ the entire enum is at least 656 bytes
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
help: consider boxing the large fields to reduce the total size of the enum
   |
55 |     User(Box<HistoricUser>),
   |          ~~~~~~~~~~~~~~~~~

warning: `sable_network` (lib) generated 2 warnings

Should we do something about them?

spb commented 5 months ago

We should, but it's part of rewriting that entire mechanism of the history log. No need for a spot fix just yet.