Hacker News new | ask | show | jobs
by hermanradtke 1090 days ago
The sudo-rs Cargo.toml [1] file seems very reasonable. This is the curse of being cross platform. The inclusion of https://github.com/Stebalien/tempfile as a dependency is responsible for the overwhelming majority of lines due to including *-sys crates for multiple OSs.

    ~/Code/tempfile !! tokei vendor
    
    ===============================================================================
     Language            Files        Lines         Code     Comments       Blanks
    ===============================================================================
     GNU Style Assembly      8         1405         1276           39           90
     C                       1            3            2            0            1
     Shell                   1           23           18            1            4
     TOML                   25         1536         1178          234          124
    -------------------------------------------------------------------------------
     Markdown               29         2193            0         1560          633
     |- C                    1            2            2            0            0
     |- Rust                11          277          220           19           38
     |- TOML                 8           60           58            0            2
     (Total)                           2532          280         1579          673
    -------------------------------------------------------------------------------
     Rust                  917       811953       792140         4536        15277
     |- Markdown           304        17252          124        14364         2764
     (Total)                         829205       792264        18900        18041
    ===============================================================================
     Total                 981       817113       794614         6370        16129
    ===============================================================================

[1]: https://github.com/memorysafety/sudo-rs/blob/60985b2f5f7ffa8...
1 comments

and tempfile is not even used as a runtime dependency. It is only ever called, or even linked, in tests.

(by the way, Herman, much belated thanks for putting together the original Rust LA meetup all those years ago!)

Curious: Does cargo not distinguish between dev and runtime dependencies?
It does, but all dependencies are put in the same folder, which is why the original poster conflated them.

If you look at the linked Cargo.toml you'll see

  [dependencies]
  libc = "0.2.139"
  <snip>

  [dev-dependencies]
  pretty_assertions = "1.3.0"
  tempfile = "3.5.0"