Email me

Rust versions / 1.35

Rust release · May 23, 2019

Rust 1.35: what's new, what was stabilized

Short answerRust 1.35 was released on May 23, 2019: 11 newly stable APIs (f32::copysign, f64::copysign, RefCell::replace_with, RefCell::map_split, ...).

May 23, 2019release date
0language stabilizations
11APIs stabilized
-new edition

← Rust 1.34All versionsRust 1.36 →

11 APIs stabilized

f32::copysign, f64::copysign, RefCell::replace_with, RefCell::map_split, ptr::hash, Range::contains, RangeFrom::contains, RangeTo::contains, RangeInclusive::contains, RangeToInclusive::contains, Option::copied

Can it break my build?

No compatibility notes were listed for this release.

Use it

rustup update stable        # get the newest release
rustup install 1.35          # or exactly this one
rustup override set 1.35     # pin a project to it

To require at least this version from users of your crate, set rust-version = "1.35" under [package] in Cargo.toml. Cargo then refuses to build it on older compilers with a clear message, and with resolver 3 (the default on the 2024 edition, Rust 1.85+) it also prefers dependency versions that support it.

Full release notes

Language

  • [FnOnce, FnMut, and the Fn traits are now implemented for Box<FnOnce>, Box<FnMut>, and Box<Fn> respectively.][59500]
  • [You can now coerce closures into unsafe function pointers.][59580] e.g. ```rust unsafe fn call_unsafe(func: unsafe fn()) { func() }

pub fn main() { unsafe { call_unsafe(|| {}); } } ```

Compiler

  • [Added the armv6-unknown-freebsd-gnueabihf and armv7-unknown-freebsd-gnueabihf targets.][58080]
  • [Added the wasm32-unknown-wasi target.][59464]

Libraries

  • [Thread will now show its ID in Debug output.][59460]
  • [StdinLock, StdoutLock, and StderrLock now implement AsRawFd.][59512]
  • [alloc::System now implements Default.][59451]
  • [Expanded Debug output ({:#?}) for structs now has a trailing comma on the last field.][59076]
  • [char::{ToLowercase, ToUppercase} now implement ExactSizeIterator.][58778]
  • [All NonZero numeric types now implement FromStr.][58717]
  • [Removed the Read trait bounds on the BufReader::{get_ref, get_mut, into_inner} methods.][58423]
  • [You can now call the dbg! macro without any parameters to print the file and line where it is called.][57847]
  • [In place ASCII case conversions are now up to 4× faster.][59283] e.g. str::make_ascii_lowercase
  • [hash_map::{OccupiedEntry, VacantEntry} now implement Sync and Send.][58369]

Stabilized APIs

  • [f32::copysign]
  • [f64::copysign]
  • [RefCell::replace_with]
  • [RefCell::map_split]
  • [ptr::hash]
  • [Range::contains]
  • [RangeFrom::contains]
  • [RangeTo::contains]
  • [RangeInclusive::contains]
  • [RangeToInclusive::contains]
  • [Option::copied]

Cargo

  • [You can now set cargo:rustc-cdylib-link-arg at build time to pass custom linker arguments when building a cdylib.][cargo/6298] Its usage is highly platform specific.

Misc

Release notes from the Rust project's RELEASES.md (MIT or Apache-2.0); summaries above are ours.

← Rust 1.34All versionsRust 1.36 →

Up next

Next releaseRust 1.36Released Jul 4, 2019.Read it next →

Did this answer your question?

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ