Go to file
bors 5fe5543502 Auto merge of #124661 - RalfJung:only-structural-consts-in-patterns, r=pnkfelix
Turn remaining non-structural-const-in-pattern lints into hard errors

This completes the implementation of https://github.com/rust-lang/rust/issues/120362 by turning our remaining future-compat lints into hard errors: indirect_structural_match and pointer_structural_match.

They have been future-compat lints for a while (indirect_structural_match for many years, pointer_structural_match since Rust 1.75 (released Dec 28, 2023)), and have shown up in dependency breakage reports since Rust 1.78 (just released on May 2, 2024). I don't expect a lot of code will still depend on them, but we will of course do a crater run.

A lot of cleanup is now possible in const_to_pat, but that is deferred to a later PR.

Fixes https://github.com/rust-lang/rust/issues/70861
2024-05-26 07:55:47 +00:00
.github Rollup merge of #123492 - lcnr:master, r=davidtwco 2024-05-21 20:28:47 +02:00
.reuse std: move `Once` implementations to `sys` 2024-03-12 15:41:06 +01:00
LICENSES Add missing CC-BY-SA-4.0. 2023-11-27 11:03:53 +00:00
compiler Auto merge of #124661 - RalfJung:only-structural-consts-in-patterns, r=pnkfelix 2024-05-26 07:55:47 +00:00
library Auto merge of #125070 - tbu-:pr_set_extension_panic, r=jhpratt 2024-05-26 04:14:32 +00:00
src Auto merge of #125552 - matthiaskrgr:rollup-f1yybpn, r=matthiaskrgr 2024-05-25 22:26:32 +00:00
tests Auto merge of #124661 - RalfJung:only-structural-consts-in-patterns, r=pnkfelix 2024-05-26 07:55:47 +00:00
.editorconfig Only use max_line_length = 100 for *.rs 2023-07-10 15:18:36 -07:00
.git-blame-ignore-revs Ignore compiletest test directive migration commits 2024-02-22 18:55:02 +00:00
.gitattributes Rename `config.toml.example` to `config.example.toml` 2023-03-11 14:10:00 -08:00
.gitignore Use cargo in y.sh 2024-05-12 12:59:10 +00:00
.gitmodules refactor: add rustc-perf submodule to src/tools 2024-05-20 14:56:49 +00:00
.mailmap Rollup merge of #123873 - cuviper:mailmap, r=lqd 2024-04-13 00:18:47 -04:00
CODE_OF_CONDUCT.md Remove the code of conduct; instead link https://www.rust-lang.org/conduct.html 2019-10-05 22:55:19 +02:00
CONTRIBUTING.md fix: Update CONTRIBUTING.md recommend -> recommended 2023-11-16 23:57:09 +05:30
COPYRIGHT Update COPYRIGHT file 2022-10-30 10:23:14 -04:00
Cargo.lock compiler: const_eval/transform/validate.rs -> mir_transform/validate.rs 2024-05-24 09:56:56 -07:00
Cargo.toml Remove the `expand-yaml-anchors` tool 2024-04-29 21:33:17 +02:00
INSTALL.md chore: fix some comments 2024-03-27 22:32:53 +08:00
LICENSE-APACHE Remove appendix from LICENCE-APACHE 2019-12-30 14:25:53 +00:00
LICENSE-MIT LICENSE-MIT: Remove inaccurate (misattributed) copyright notice 2017-07-26 16:51:58 -07:00
README.md Use SVG logos in the README.md. 2024-04-03 19:48:20 +02:00
RELEASES.md release notes 1.78: add link to interior-mut breaking change 2024-05-03 14:56:05 +02:00
config.example.toml describe new default value for `rust.lld` in config template 2024-05-16 16:08:06 +00:00
configure Ensure `./configure` works when `configure.py` path contains spaces 2024-02-16 18:57:22 +00:00
rust-bors.toml Increase timeout for new bors bot 2024-03-13 08:31:07 +01:00
rustfmt.toml refactor: add rustc-perf submodule to src/tools 2024-05-20 14:56:49 +00:00
triagebot.toml Rollup merge of #125519 - lcnr:tag-next-solver, r=compiler-errors 2024-05-24 23:01:12 +02:00
x Make x capable of resolving symlinks 2023-10-14 17:53:33 +03:00
x.ps1 use `&` instead of start-process in x.ps1 2023-12-09 09:46:16 -05:00
x.py Fix recent python linting errors 2023-08-02 04:40:28 -04:00

README.md

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.