Empowering everyone to build reliable and efficient software.
Go to file
Nikita Popov 1b7342b411 force_array -> is_consecutive
The actual ABI implication here is that in some cases the values
are required to be "consecutive", i.e. must either all be passed
in registers or all on stack (without padding).

Adjust the code to either use Uniform::new() or Uniform::consecutive()
depending on which behavior is needed.

Then, when lowering this in LLVM, skip the [1 x i128] to i128
simplification if is_consecutive is set. i128 is the only case
I'm aware of where this is problematic right now. If we find
other cases, we can extend this (either based on target information
or possibly just by not simplifying for is_consecutive entirely).
2024-04-08 11:31:43 +09:00
.github CI: Redirect stderr to stdout to order GHA logs 2024-04-02 12:08:47 +02:00
.reuse
compiler force_array -> is_consecutive 2024-04-08 11:31:43 +09:00
library Auto merge of #123506 - RalfJung:miri-test-libstd, r=Mark-Simulacrum 2024-04-08 00:08:44 +00:00
LICENSES
src Auto merge of #123506 - RalfJung:miri-test-libstd, r=Mark-Simulacrum 2024-04-08 00:08:44 +00:00
tests Fix argument ABI for overaligned structs on ppc64le 2024-04-08 11:15:36 +09:00
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore Ignore rustc-ice- files 2024-04-01 12:03:16 +02:00
.gitmodules
.mailmap Add my former address to .mailmap 2024-03-25 18:48:54 -07:00
Cargo.lock Auto merge of #123321 - clubby789:cargo-uupdate, r=Mark-Simulacrum 2024-04-06 10:57:13 +00:00
Cargo.toml Remove unused dep tester 2024-03-22 13:44:28 +00:00
CODE_OF_CONDUCT.md
config.example.toml use more accurate terminology 2024-03-19 20:32:55 +02:00
configure
CONTRIBUTING.md
COPYRIGHT
INSTALL.md chore: fix some comments 2024-03-27 22:32:53 +08:00
LICENSE-APACHE
LICENSE-MIT
README.md Use SVG logos in the README.md. 2024-04-03 19:48:20 +02:00
RELEASES.md Forward port 1.77.1 release notes 2024-03-29 10:44:19 +03:00
rust-bors.toml
rustfmt.toml
triagebot.toml Rollup merge of #123519 - Urgau:session-cfg-check-cfg-improvements, r=wesleywiser 2024-04-06 08:56:35 +02:00
x
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.