Post 9mtngCL80eY8MHU0VU by shaderphantom@awoo.space
(DIR) More posts by shaderphantom@awoo.space
(DIR) Post #9mtngCL80eY8MHU0VU by shaderphantom@awoo.space
2019-09-13T23:30:36Z
0 likes, 0 repeats
the stability story with rust is just, not working with the way the current library ecosystem works. you can barely compile current crates with the current compiler, let alone crates from a few months ago, and sure as hell you won't be compiling anything you haven't maintained in the last year.
(DIR) Post #9mtngCYbCZKD23mlVI by shaderphantom@awoo.space
2019-09-13T23:33:03Z
0 likes, 0 repeats
this is a deeply frustrating aspect of working with Rust and it makes me scared of writing anything long term in it anymore. you really do just have to pin specific versions of the compiler to keep the lights on.
(DIR) Post #9mtngChoeIhJUe67s0 by shaderphantom@awoo.space
2019-09-13T23:41:25Z
0 likes, 0 repeats
it's also increasingly feeling like the Node style approach to dependencies is creating untenable dependency trees (surprising nobody) that balloon compile times and maintenance cost to ridiculous scale.my oldest rust project is over 4 years old and the compiler breaks it every few months. if I were to compile it today, it would still take around 6 minutes to compile everything, if I miraculously got all the dependency versions lined up to compile under the current compiler.
(DIR) Post #9mtngCuDuAce77u2D2 by eevee@mastodon.social
2019-09-14T02:18:58Z
0 likes, 0 repeats
@shaderphantom is the node approach where you end up with fifteen copies of the same transitive dependencyalso how is library code breaking? this surprises me but i don't actually write a lot of rust
(DIR) Post #9mtnu8tjbRbZjoJqOu by shaderphantom@awoo.space
2019-09-14T02:21:37Z
0 likes, 0 repeats
@eevee many of the problems revolve around the lockfile secretly locking old versions of derive macro crates when trying to upgrade dependencies, and subtle api changes in the standard library over the years, or awkwardness surrounding the use of semver, but i've also rarely had situations where i just flat out cannot compile an entirely untouched crate