This is a set of recommendations on how to design and present APIs for the Rust programming language. They are authored largely by the Rust library team, based on experiences building the Rust standard library and other crates in the Rust ecosystem. These are only guidelines, some more firm than others. In some cases they are vague and still in development. Rust crate authors should consider them