Rust

詳細情報

タイトル Rust
URL https://www.rust-lang.org/
バージョン ver 1.80.0
更新日 2024/07/26
追加日 2016/01/29
種別 フリーソフト
説明 Mozillaによって開発されているシステムプログラミング言語。

レビュー

Rustは効率性や安全性、生産性を重視して開発が進められているプログラミング言語。

パフォーマンスを維持しつつメモリ安全性を確保し、CやC++言語を置き換える事ができるシステムプログラミング言語を目指して開発が進められている。

2006年にMozillaの従業員であるGraydon Hoare氏の個人のプロジェクトとして開発が始まり、2009年以降はMozillaが支援する公式プロジェクトとなった。2015年に1.0がリリースされ基本的な仕様が固まっている。

スクリーンショット

スクリーンショットはありません。

更新グラフ

バージョン履歴

Rust 1.80.0

Language

  • Document maximum allocation size
  • Allow zero-byte offsets and ZST read/writes on arbitrary pointers
  • Support C23's variadics without a named parameter
  • Stabilize exclusive_range_pattern feature
  • Guarantee layout and ABI of Result in some scenarios

Compiler

  • Update cc crate to v1.0.97 allowing additional spectre mitigations on MSVC targets
  • Allow field reordering on types marked repr(packed(1))
  • Add a lint against never type fallback affecting unsafe code
  • Disallow cast with trailing braced macro in let-else
  • Expand for_loops_over_fallibles
(省略されました)
Rust 1.79.0

Language

  • Stabilize inline const {} expressions.
  • Prevent opaque types being instantiated twice with different regions within the same function.
  • Stabilize WebAssembly target features that are in phase 4 and 5.
  • Add the redundant_lifetimes lint to detect lifetimes which are semantically redundant.
  • Stabilize the unnameable_types lint for public types that can't be named.
  • Enable debuginfo in macros, and stabilize -C collapse-macro-debuginfo and #[collapse_debuginfo].
  • Propagate temporary lifetime extension into if and match expressions.
  • Restrict promotion of const fn calls.
(省略されました)
Rust 1.78.0

Language

  • Stabilize #[cfg(target_abi = ...)]
  • Stabilize the #[diagnostic] namespace and #[diagnostic::on_unimplemented] attribute
  • Make async-fn-in-trait implementable with concrete signatures
  • Make matching on NaN a hard error, and remove the rest of illegal_floating_point_literal_pattern
  • static mut: allow mutable reference to arbitrary types, not just slices and arrays
  • Extend invalid_reference_casting to include references casting to bigger memory layout
  • Add non_contiguous_range_endpoints lint for singleton gaps after exclusive ranges
  • Add wasm_c_abi lint for use of older wasm-bind
(省略されました)
Rust 1.77.2

  • CVE-2024-24576: fix escaping of Windows batch file arguments in std::process::Command
Rust 1.77.1

  • Revert stripping debuginfo by default for Windows This fixes a regression in 1.77 by reverting to the previous default. Platforms other than Windows are not affected.
  • Internal: Fix heading anchor rendering in doc pages
Rust 1.77.0

Language

  • Reveal opaque types within the defining body for exhaustiveness checking.
  • Stabilize C-string literals.
  • Stabilize THIR unsafeck.
  • Add lint static_mut_refs to warn on references to mutable statics.
  • Support async recursive calls (as long as they have indirection).
  • Undeprecate lint unstable_features and make use of it in the compiler.
  • Make inductive cycles in coherence ambiguous always.
  • Get rid of type-driven traversal in const-eval interning, only as a future compatiblity lint for now.
  • Deny braced macro invocations in let-else.

Compiler

  • In
(省略されました)
Rust 1.76.0

Language

  • Document Rust ABI compatibility between various types
  • Also: guarantee that char and u32 are ABI-compatible
  • Warn against ambiguous wide pointer comparisons

Compiler

  • Lint pinned #[must_use] pointers (in particular, Box<T> where T is #[must_use]) in unused_must_use.
  • Soundness fix: fix computing the offset of an unsized field in a packed struct
  • Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail
  • Add $message_type field to distinguish json diagnostic outputs
  • Enable Rust to use the EHCont security fea
(省略されました)
Rust 1.75.0

Language

  • Stabilize async fn and return-position impl Trait in traits.
  • Allow function pointer signatures containing &mut T in const contexts.
  • Match usize/isize exhaustively with half-open ranges.
  • Guarantee that char has the same size and alignment as u32.
  • Document that the null pointer has the 0 address.
  • Allow partially moved values in match.
  • Add notes about non-compliant FP behavior on 32bit x86 targets.
  • Stabilize ratified RISC-V target features.

Compiler

  • Rework negative coherence to pr
(省略されました)
Rust 1.30.1
November 8, 2018
Rust 1.30.0
October 25, 2018
Rust 1.29.2
October 12, 2018