Empowering everyone to build reliable and efficient software.
Go to file
Jubilee b598849941
Rollup merge of - dianne:iter-into-iter, r=lcnr
Don't suggest `.into_iter()` on iterators

This makes the the suggestion to call `.into_iter()` only consider unsatisfied `Iterator` bounds for the receiver type itself. That way, it ignores predicates generated by trying to auto-ref the receiver (the result of which usually won't implement `Iterator`).

Fixes 

Unfortunately, the error in that case is still confusing: it labels `Iterator` as an unsatisfied bound because `&impl Iterator: Iterator` can't be satisfied, despite that not being required or helpful. I'd like to handle that in a separate PR. ~~I'm hoping fixing  will fix it too.~~ It doesn't look connected to that issue. Still, I think it'd be clearest to visually distinguish unsatisfied predicates from different attempts at `pick_method`; I'll make a PR for that soon.
2024-11-08 20:46:12 -08:00
.github Merge pull request from Kobzol/ci-remove-bors 2024-11-07 17:42:31 +00:00
compiler Rollup merge of - dianne:iter-into-iter, r=lcnr 2024-11-08 20:46:12 -08:00
library Auto merge of - RalfJung:rustc_safe_intrinsic, r=compiler-errors 2024-11-08 10:28:47 +00:00
LICENSES
src Auto merge of - flip1995:clippy-subtree-update, r=Manishearth 2024-11-08 16:49:13 +00:00
tests Rollup merge of - dianne:iter-into-iter, r=lcnr 2024-11-08 20:46:12 -08:00
.clang-format
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore
.gitmodules
.ignore
.mailmap Add a bunch of mailmap entries 2024-11-01 20:10:36 +01:00
Cargo.lock Auto merge of - flip1995:clippy-subtree-update, r=Manishearth 2024-11-08 16:49:13 +00:00
Cargo.toml update rustc-std-workspace crates 2024-11-04 07:45:15 +01:00
CODE_OF_CONDUCT.md
config.example.toml refactor(config): remove FIXME statement in comment of omit-git-hash 2024-11-01 20:19:01 +03:00
configure
CONTRIBUTING.md
COPYRIGHT
INSTALL.md
LICENSE-APACHE
LICENSE-MIT
README.md Remove CI badge from README and book 2024-11-07 18:57:29 +01:00
RELEASES.md
REUSE.toml
rust-bors.toml
rustfmt.toml chore(style): sync submodule exclusion list between tidy and rustfmt 2024-11-02 16:43:10 +03:00
triagebot.toml triagebot: ping wg-const-eval when relevant files change 2024-11-05 09:13:28 +01:00
x fix(x): fix a regex used to find python executable 2024-11-06 16:40:02 +03:00
x.ps1
x.py

This is the main source code repository for Rust. It contains the compiler, standard library, and documentation.

Why Rust?

  • Performance: Fast and memory-efficient, suitable for critical services, embedded devices, and easily integrate with other languages.

  • Reliability: Our rich type system and ownership model ensure memory and thread safety, reducing bugs at compile-time.

  • Productivity: Comprehensive documentation, a compiler committed to providing great diagnostics, and advanced tooling including package manager and build tool (Cargo), auto-formatter (rustfmt), linter (Clippy) and editor support (rust-analyzer).

Quick Start

Read "Installation" from The Book.

Installing from Source

If you really want to install from source (though this is not recommended), see INSTALL.md.

Getting Help

See https://www.rust-lang.org/community for a list of chat platforms and forums.

Contributing

See CONTRIBUTING.md.

License

Rust is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.

Trademark

The Rust Foundation owns and protects the Rust and Cargo trademarks and logos (the "Rust Trademarks").

If you want to use these names or brands, please read the media guide.

Third-party logos may be subject to third-party copyrights and trademarks. See Licenses for details.