Urgent.News

What's breaking now, across thousands of outlets.

Tech

Updating Rustup 1.29.3 while keeping the compiler fixed

The toolchain manager and the compiler have separate version numbers. I updated an isolated Rustup installation from 1.29.2 to 1.29.3 , kept its linked compiler at 1.99.1 , then compiled and ran a small program through that same toolchain. That gives me a useful way to handle this patch: update the manager that selects the tools, then check which compiler a project actually uses. Recorded…

Rustup, the toolchain manager for the Rust programming language, received an update to version 1.29.3 while maintaining the same compiler version. The change was made by updating the isolated Rustup installation from 1.29.2 to 1.29.3, preserving the linked compiler at 1.99.1. This update was then tested by compiling and running a small program through the same toolchain.

The Rustup team reported two regression fixes in 1.29.3: an illegal-instruction failure on certain x86_64 CPUs lacking SSE4.1, and an unsupported-lock error on Solaris. These issues are upstream claims and were not reproduced in this walkthrough.

To update Rustup itself, users should run rustup self update, which differs from rustup update, a command that updates installed toolchains. When updating Rustup, it is essential to check both the Rustup version and the active toolchain using rustup --version and rustup show active-toolchain, respectively. The Rustup configuration directories can be customized via CARGO_HOME and RUSTUP_HOME environment variables.

In this trial, separate CARGO_HOME and RUSTUP_HOME directories were used, while the shell startup files remained unchanged.

To verify the version selection, the user ran rustup --version, rustup show active-toolchain, and rustc --version. The active toolchain was identified as pinned-local (default). It's important to note that the rustc and cargo commands are proxies that pass the invocation to the selected toolchain. Updating the manager does not request a different compiler. The shell must be able to reach these proxies; otherwise, the intended toolchain may not be used.

A practical step is to ensure the shell reaches the desired proxies, as a rustc supplied by another installation might produce a valid version line while bypassing the intended Rustup selection. To double-check the compiler and Cargo in a fresh shell, follow Mayur Kumbhar's environment setup walkthrough. After the update, compile a small program (demo.rs) through the linked toolchain using rustup run pinned-local rustc demo.rs -o demo and run the executable to confirm the output (sum=10).

This narrow update check focuses on the manager version, compiler selection, compilation, and program output. It does not test all Cargo dependencies or guarantee the project will build on every target. To ensure a real project builds correctly across all targets, keep the project's selected compiler visible alongside the manager version.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

zk-barter: Exploring Zero-Knowledge Proofs for Trustless Digital Barter | Rushidev Ukalkar

How can two people exchange digital assets without either party having to trust the other to go first? That's the problem I'm exploring with zk-barter , a research project involving Solidity smart…

  • zk-barter project aims to enable trustless digital asset exchanges.
  • Utilizes zero-knowledge proofs (Groth16) and cryptographic commitments (libsnark).
  • Project is early-stage, not production-ready or independently audited.

Why Pay for the Smartest Model Every Time?

Originally published on wrightfunctions.com , where the demos are live. A restaurant doesn't send every order to the head chef. Toast goes to the line cook.

  • Intelligent routing, cascading, distillation, and caching reduce large language model pricing.
  • Requests directed to most powerful model only when necessary, cutting costs up to 85%.
  • Distillation trains smaller model on larger model's outputs for faster, cheaper usage.

Two coroutines, one journal: a Restate restart demo

Both preparation steps had finished when I stopped the Node process. The Restate server stayed running. After I started the service again, the pending invocation returned ["A", "B"] , and the…

  • Two coroutines, prepare-a and prepare-b, each with generator-based steps
  • Interruption occurred mid-process, file verified executed effects
  • Service implemented in service.mjs with dependencies @restatedev/restate-sdk

More from Wednesday 4 November →