./lang/rust, Safe, concurrent, practical language

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.74.1nb1, Package name: rust-1.74.1nb1, Maintainer: pkgsrc-users

Rust is a systems programming language focused on three goals: safety,
speed, and concurrency. It maintains these goals without having a
garbage collector, making it a useful language for a number of use cases
other languages aren't good at: embedding in other languages, programs
with specific space and time requirements, and writing low-level code,
like device drivers and operating systems.

It improves on current languages targeting this space by having a number
of compile-time safety checks that produce no runtime overhead, while
eliminating all data races. Rust also aims to achieve "zero-cost
abstractions" even though some of these abstractions feel like those of
a high-level language. Even then, Rust still allows precise control
like a low-level language would.


Required to run:
[www/curl] [security/openssl] [lang/llvm]

Required to build:
[pkgtools/cwrappers] [lang/gcc5] [lang/python37]

Master sites:

Filesize: 276914.199 KB

Version history: (Expand)


CVS history: (Expand)


   2024-01-22 12:00:16 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
rust: avoid .old files in the final package
   2024-01-15 16:15:01 by Jonathan Perkin | Files touched by this commit (1)
Log message:
rust: Update illumos pkgsrc bootstrap libraries.
   2024-01-15 13:24:21 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
rust: use system libunwind
   2024-01-14 00:21:58 by Roland Illig | Files touched by this commit (1)
Log message:
lang/rust: remove references to build-time DESTDIR

When the package is installed, the temporary DESTDIR directory doesn't
exist anymore, so there's no point referring to it.

Bump PKGREVISION.
   2024-01-08 09:16:52 by Tobias Nygren | Files touched by this commit (1)
Log message:
rust: add a CHECK_PORTABILITY_SKIP
   2024-01-06 20:00:19 by Havard Eidnes | Files touched by this commit (12) | Package updated
Log message:
rust: update to version 1.74.1.

Pkgsrc changes:

 * Remove NetBSD-8 support (embedded LLVm requires newer C++
   than what is in -8; it's conceivable that this could still
   build with an external LLVM)
 * undo powerpc 9.0 file naming tweak, since we no longer support -8.
 * Remove patch to LLVM for powerpc now included by upstream.
 * Minor adjustments, checksum changes etc.

Upstream changes:

Version 1.74.1 (2023-12-07)
===========================

- [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM]
  (https://github.com/rust-lang/rust/pull/118464)
- [Clarify guarantees for std::mem::discriminant]
  (https://github.com/rust-lang/rust/pull/118006)
- [Fix some subtyping-related regressions]
  (https://github.com/rust-lang/rust/pull/116415)

Version 1.74.0 (2023-11-16)
==========================

Language
--------

- [Codify that `std::mem::Discriminant<T>` does not depend on any
  lifetimes in T]
  (https://github.com/rust-lang/rust/pull/104299/)
- [Replace `private_in_public` lint with `private_interfaces` and
  `private_bounds` per RFC 2145]
  (https://github.com/rust-lang/rust/pull/113126/)
  Read more in
  [RFC 2145](https://rust-lang.github.io/rfcs/2145-type-privacy.html).
- [Allow explicit `#[repr(Rust)]`]
  (https://github.com/rust-lang/rust/pull/114201/)
- [closure field capturing: don't depend on alignment of packed fields]
  (https://github.com/rust-lang/rust/pull/115315/)
- [Enable MIR-based drop-tracking for `async` blocks]
  (https://github.com/rust-lang/rust/pull/107421/)

Compiler
--------

- [stabilize combining +bundle and +whole-archive link modifiers]
  (https://github.com/rust-lang/rust/pull/113301/)
- [Stabilize `PATH` option for `--print KIND=PATH`]
  (https://github.com/rust-lang/rust/pull/114183/)
- [Enable ASAN/LSAN/TSAN for `*-apple-ios-macabi`]
  (https://github.com/rust-lang/rust/pull/115644/)
- [Promote loongarch64-unknown-none* to Tier 2]
  (https://github.com/rust-lang/rust/pull/115368/)
- [Add `i686-pc-windows-gnullvm` as a tier 3 target]
  (https://github.com/rust-lang/rust/pull/115687/)

Libraries
---------

- [Implement `From<OwnedFd/Handle>` for ChildStdin/out/err]
  (https://github.com/rust-lang/rust/pull/98704/)
- [Implement `From<{&,&mut} [T; N]>` for `Vec<T>` where `T: \ 
Clone`]
  (https://github.com/rust-lang/rust/pull/111278/)
- [impl Step for IP addresses]
  (https://github.com/rust-lang/rust/pull/113748/)
- [Implement `From<[T; N]>` for `Rc<[T]>` and `Arc<[T]>`]
  (https://github.com/rust-lang/rust/pull/114041/)
- [`impl TryFrom<char> for u16`]
  (https://github.com/rust-lang/rust/pull/114065/)
- [Stabilize `io_error_other` feature]
  (https://github.com/rust-lang/rust/pull/115453/)
- [Stabilize the `Saturating` type]
  (https://github.com/rust-lang/rust/pull/115477/)
- [Stabilize const_transmute_copy]
  (https://github.com/rust-lang/rust/pull/115520/)

Stabilized APIs
---------------

- [`core::num::Saturating`]
  (https://doc.rust-lang.org/stable/std/num/struct.Saturating.html)
- [`impl From<io::Stdout> for std::process::Stdio`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStdout%3E-for-Stdio)
- [`impl From<io::Stderr> for std::process::Stdio`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}`]
  \ 
(https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio)
- [`std::ffi::OsString::from_encoded_bytes_unchecked`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.from_encoded_bytes_unchecked)
- [`std::ffi::OsString::into_encoded_bytes`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.into_encoded_bytes)
- [`std::ffi::OsStr::from_encoded_bytes_unchecked`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.from_encoded_bytes_unchecked)
- [`std::ffi::OsStr::as_encoded_bytes`]
  \ 
(https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.as_encoded_bytes)
- [`std::io::Error::other`]
  (https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.other)
- [`impl TryFrom<char> for u16`]
  \ 
(https://doc.rust-lang.org/stable/std/primitive.u16.html#impl-TryFrom%3Cchar%3E-for-u16)
- [`impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>`]
  \ 
(https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
- [`impl<T: Clone, const N: usize> From<&mut [T; N]> for \ 
Vec<T>`]
  \ 
(https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26mut+%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E)
- [`impl<T, const N: usize> From<[T; N]> for Arc<[T]>`]
  \ 
(https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3C%5BT;+N%5D%3E-for-Arc%3C%5BT%5D,+Global%3E)
- [`impl<T, const N: usize> From<[T; N]> for Rc<[T]>`]
  \ 
(https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3C%5BT;+N%5D%3E-for-Rc%3C%5BT%5D,+Global%3E)

These APIs are now stable in const contexts:

- [`core::mem::transmute_copy`]
  (https://doc.rust-lang.org/beta/std/mem/fn.transmute_copy.html)
- [`str::is_ascii`]
  (https://doc.rust-lang.org/beta/std/primitive.str.html#method.is_ascii)
- [`[u8]::is_ascii`]
  (https://doc.rust-lang.org/beta/std/primitive.slice.html#method.is_ascii)

Cargo
-----

- [fix: Set MSRV for internal packages]
  (https://github.com/rust-lang/cargo/pull/12381/)
- [config: merge lists in precedence order]
  (https://github.com/rust-lang/cargo/pull/12515/)
- [fix(update): Clarify meaning of --aggressive as --recursive]
  (https://github.com/rust-lang/cargo/pull/12544/)
- [fix(update): Make `-p` more convenient by being positional]
  (https://github.com/rust-lang/cargo/pull/12545/)
- [feat(help): Add styling to help output ]
  (https://github.com/rust-lang/cargo/pull/12578/)
- [feat(pkgid): Allow incomplete versions when unambigious]
  (https://github.com/rust-lang/cargo/pull/12614/)
- [feat: stabilize credential-process and registry-auth]
  (https://github.com/rust-lang/cargo/pull/12649/)
- [feat(cli): Add '-n' to dry-run]
  (https://github.com/rust-lang/cargo/pull/12660/)
- [Add support for `target.'cfg(..)'.linker`]
  (https://github.com/rust-lang/cargo/pull/12535/)
- [Stabilize `--keep-going`]
  (https://github.com/rust-lang/cargo/pull/12568/)
- [feat: Stabilize lints]
  (https://github.com/rust-lang/cargo/pull/12648/)

Rustdoc
-------

- [Add warning block support in rustdoc]
  (https://github.com/rust-lang/rust/pull/106561/)
- [Accept additional user-defined syntax classes in fenced code blocks]
  (https://github.com/rust-lang/rust/pull/110800/)
- [rustdoc-search: add support for type parameters]
  (https://github.com/rust-lang/rust/pull/112725/)
- [rustdoc: show inner enum and struct in type definition for concrete type]
  (https://github.com/rust-lang/rust/pull/114855/)

Compatibility Notes
-------------------

- [Raise minimum supported Apple OS versions]
  (https://github.com/rust-lang/rust/pull/104385/)
- [make Cell::swap panic if the Cells partially overlap]
  (https://github.com/rust-lang/rust/pull/114795/)
- [Reject invalid crate names in `--extern`]
  (https://github.com/rust-lang/rust/pull/116001/)
- [Don't resolve generic impls that may be shadowed by dyn built-in impls]
  (https://github.com/rust-lang/rust/pull/114941/)

Internal Changes
----------------

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

None this cycle.
   2023-12-13 18:39:07 by Amitai Schleier | Files touched by this commit (7)
Log message:
cargo.mk: centralize Darwin -install_name workaround.
   2023-11-17 21:08:12 by Tobias Nygren | Files touched by this commit (1)
Log message:
rust: add CHECK_PORTABILITY_SKIP