rfc-leadership-council
api-guidelines
rfc-leadership-council | api-guidelines | |
---|---|---|
2 | 32 | |
6 | 1,203 | |
- | 0.6% | |
2.7 | 3.3 | |
12 months ago | 2 months ago | |
Markdown | ||
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rfc-leadership-council
-
Rust has been forked to the Crab Language
This fork promises "All of the memory-safe features you love, now with 100% less bureaucracy!" Compelling, until you realise that all the commits are auto-merges of rust-lang/rust's main branch. Which means the same teams doing the same work, under a different name.
Rust is experiencing growing pains because they're still figuring out a governance structure that works for everyone. They want to simultaneously keep the current structure of bottom up development where each team (compiler, lang, crates.io, cargo) has the autonomy to make decisions for themselves, but the project as a whole can speak can come to a consensus and speak with a single voice. That's what this RFC tries to capture (https://github.com/rust-lang/rfc-leadership-council/blob/mai...). But the project isn't there yet, and is making these frustrating missteps in the interim. The lack of transparency into these missteps manifests as "bureaucracy" to outsiders like us.
If Crab lang actually attracted people doing the real work of development, they would have the exact same "bureaucracy" as teams tried to figure out how to build consensus and speak with one voice. The fact that they don't have bureaucracy is a direct consequence of them not doing any work right now. None of the people involved in regular Rust work, as far as I can tell, so they might not be aware of this.
Lastly, I want to note that the top comment in this thread is blaming the Foundation, which is simply bizarre. The Foundation very explicitly tries to stay hands off on technical decisions and does not interfere in how the teams organise themselves. You may disagree with that, but it's an inaccurate characterisation.
-
Hey Rustaceans! Got a question? Ask here (15/2023)!
Read eg. https://github.com/rust-lang/rfc-leadership-council/blob/main/text/3392-leadership-council.md as start
api-guidelines
- Best practices for designing traits in public crates?
-
Functional Options Pattern in Go and Rust
Just wanting to let this here for some further input: - https://rust-lang.github.io/api-guidelines/ - https://rust-unofficial.github.io/patterns/ - https://deterministic.space/elegant-apis-in-rust.html
-
Hey Rustaceans! Got a question? Ask here (15/2023)!
The API guidelines will help you write nice APIs. Clippy will usually at least find some things, try running with -Wclippy::pedantic for a lot more messages. Also you can ask mentors for specific guidance. Hope that helps.
-
Naming traits
There has been some previous discussion on this here: https://github.com/rust-lang/api-guidelines/discussions/28
-
What is the proper guidance on using generics as parameters for an API
I'm currently writing an API and using the API guidelines book. On the Flexibility page, there's a section on using generics as function parameters to minimize assumptions. The issue that I'm having is that the only example it gives is std::fs::File::open. Specifically, I want to know what is the "standard" way to use generics as parameters?
-
Prefixes in name and Reexports
I search up in the rust-api-guideline, but no luck finding something like this. There used to be an Organization according to this thread, but upon digging the repo commits, it was deleted by this commit. "We can reintroduce this section if we come up with a way to give firmer advice here."
-
What are some good practices when writing rust?
public api of a library should follow Rust API Guidelines.
-
astro-float 0.6.6 arbitrary precision floating point library update
API was made compliant with Rust API Guidelines.
-
Picking Up Rust Before C With My Goals In Mind?
Finally, there's also the Little Book of Rust Books where you could look for tutorial materials or things like like Rust Design Patterns, Rust API Guidelines, and The Rust Performance Book. (See also rust-learning)
-
Learning rust
Rust API Guidelines: If you're planning on building libraries or APIs in Rust, these guidelines provide recommendations for designing and presenting APIs in the language. They're written by the Rust library team, based on their experience building the Rust standard library and other crates in the ecosystem.
What are some alternatives?
crab - A community fork of a language named after a plant fungus. All of the memory-safe features you love, now with 100% less bureaucracy!
wasm-bindgen - Facilitating high-level interactions between Wasm modules and JavaScript
mimalloc_rust - A Rust wrapper over Microsoft's MiMalloc memory allocator
patterns - A catalogue of Rust design patterns, anti-patterns and idioms
hashes - Collection of cryptographic hash functions written in pure Rust
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
rumqtt - The MQTT ecosystem in rust
idiomatic-rust - 🦀 A peer-reviewed collection of articles/talks/repos which teach concise, idiomatic Rust.
rust-playground - The Rust Playground
rust - Empowering everyone to build reliable and efficient software.
crates.io - The Rust package registry
gdnative - Rust bindings for Godot 3