Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
tao
A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc. (by zesterer)
-
rust-orphan-rules
An unofficial, experimental place for documenting and gathering feedback on the design problems around Rust's orphan rules
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I've noticed a trend for introducing RFCs that attempt to make Cargo's feature system more complicated. Here is the most recent one I've seen, but there have definitely been others, and they all seem to be solving problems with default-features=false.
@haruda_gondi would having type inference on defaults be the solution you're thinking of? Or am I misunderstanding your issue?
The borrow checker is too dumb (https://github.com/rust-lang/polonius) fixes a lot of this.
I've personally found through my experiments working on my language Tao that having effects be a property of the return value and not the function itself is very useful and opens up a lot of doors, like iterators that generate effectful values and more precise control over when side effects occur and in what context.
Not that simple... hence why Orphan rule is still in-place. The struct wrapper was implemented in Rust as a temporary safe work-around. However, they are making progress on a solution: https://github.com/Ixrec/rust-orphan-rules/issues/1