Skip to content

Commit

Permalink
Add 1.80 release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
BoxyUwU committed Jun 28, 2024
1 parent 99f77a2 commit 9d02bdc
Showing 1 changed file with 128 additions and 0 deletions.
128 changes: 128 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,131 @@
Version 1.80 (2024-07-25)
==========================

<a id="1.80-Language"></a>

Language
--------
- [Document maximum allocation size](/~https://github.com/rust-lang/rust/pull/116675/)
- [Allow zero-byte offsets and ZST read/writes on arbitrary pointers](/~https://github.com/rust-lang/rust/pull/117329/)
- [Support C23's variadics without a named parameter](/~https://github.com/rust-lang/rust/pull/124048/)
- [Stabilize exclusive_range_pattern](/~https://github.com/rust-lang/rust/pull/124459/)
- [Guarantee layout and ABI of `Result` in some scenarios](/~https://github.com/rust-lang/rust/pull/124870)
- [Warn (or error) when `Self` ctor from outer item is referenced in inner nested item](/~https://github.com/rust-lang/rust/pull/124187/)
- [Turn non-structural-const-in-pattern lints into hard errors](/~https://github.com/rust-lang/rust/pull/124661/)
- [Make `WHERE_CLAUSES_OBJECT_SAFETY` lint a regular object safety violation](/~https://github.com/rust-lang/rust/pull/125380/)


<a id="1.80-Compiler"></a>

Compiler
--------
- [Update cc crate to v1.0.97 allowing additional specter mitigations on MSVC targets](/~https://github.com/rust-lang/rust/pull/124892/)
- [Allow field reordering on types marked `repr(packed(1))`](/~https://github.com/rust-lang/rust/pull/125360/)
- [Detect unused structs even when implementing private traits](/~https://github.com/rust-lang/rust/pull/122382/)
- [Add a lint against never type fallback affecting unsafe code](/~https://github.com/rust-lang/rust/pull/123939/)
- [Add `--print=check-cfg` to get the expected configs](/~https://github.com/rust-lang/rust/pull/124320/)
- [Add `rustfmt` cfg to well known cfgs list](/~https://github.com/rust-lang/rust/pull/124742/)
- [Support `Result<T, E>` across FFI when niche optimization can be used](/~https://github.com/rust-lang/rust/pull/122253/)
- [Disallow cast with trailing braced macro in let-else](/~https://github.com/rust-lang/rust/pull/125049/)
- [Expand `for_loops_over_fallibles` lint to lint on fallibles behind references.](/~https://github.com/rust-lang/rust/pull/125156/)
- [self-contained linker: retry linking without `-fuse-ld=lld` on CCs that don't support it](/~https://github.com/rust-lang/rust/pull/125417/)
- [Convert `proc_macro_back_compat` lint to an unconditional error.](/~https://github.com/rust-lang/rust/pull/125596/)
- [Reject `CVarArgs` in `parse_ty_for_where_clause`](/~https://github.com/rust-lang/rust/pull/125863/)
- [Correctly handle type aliases during orphan check](/~https://github.com/rust-lang/rust/pull/117164/)
- Improvements to LLDB formatting [#124458](/~https://github.com/rust-lang/rust/pull/124458) [#124500](/~https://github.com/rust-lang/rust/pull/124500)
- [For the wasm32-wasip2 target default to PIC and do not use `-fuse-ld=lld`](/~https://github.com/rust-lang/rust/pull/124858/)
- [Adjust 64-bit ARM data layouts for LLVM update](/~https://github.com/rust-lang/rust/pull/124813/)
- [Add x86_64-unknown-linux-none target](/~https://github.com/rust-lang/rust/pull/125023/)

<a id="1.80-Libraries"></a>

Libraries
---------
- [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to the prelude](/~https://github.com/rust-lang/rust/pull/123168/)
- [Abort a process when FD ownership is violated](/~https://github.com/rust-lang/rust/pull/124210/)
- [io::Write::write_fmt: panic if the formatter fails when the stream does not fail](/~https://github.com/rust-lang/rust/pull/125012/)
- [Panic if `PathBuf::set_extension` would add a path separator](/~https://github.com/rust-lang/rust/pull/125070/)
- [Add assert_unsafe_precondition to unchecked_{add,sub,neg,mul,shl,shr} methods](/~https://github.com/rust-lang/rust/pull/121571/)
- [Update `c_char` on AIX to use the correct type](/~https://github.com/rust-lang/rust/pull/122986/)
- [Remove libc from MSVC targets](/~https://github.com/rust-lang/rust/pull/124050/)
- [Update libc to 0.2.155](/~https://github.com/rust-lang/rust/pull/124560/)
- [`offset_of!` no longer returns a temporary](/~https://github.com/rust-lang/rust/pull/124484/)
- [Hangle sigma in `str.to_lowercase` correctly](/~https://github.com/rust-lang/rust/pull/124773/)
- [Raise `DEFAULT_MIN_STACK_SIZE` to at least 64KiB](/~https://github.com/rust-lang/rust/pull/126059/)
- [`std::env::{set_var, remove_var}` can no longer be converted to safe function pointers and no longer implement the `Fn` family of traits](/~https://github.com/rust-lang/rust/pull/124636)


<a id="1.80-Stabilized-APIs"></a>

Stabilized APIs
---------------
- [Correct the const stabilization of `last_chunk` for slices](/~https://github.com/rust-lang/rust/pull/124836/)
- [Implement Default for `Arc<str>`/`Rc<str>`/`Arc<[T]>`/`Rc<[T]>`/`Arc<CStr>`](/~https://github.com/rust-lang/rust/pull/124640/)
- [Implement `IntoIterator for Box<[T]>` + edition 2024-specific lints](/~https://github.com/rust-lang/rust/pull/124097/)
- [Implement `FromIterator for Box<str>`](/~https://github.com/rust-lang/rust/pull/99969/)
- [Stabilize `LazyCell` and `LazyLock`](/~https://github.com/rust-lang/rust/pull/121377/)
- [Stabilize `div_duration`](/~https://github.com/rust-lang/rust/pull/124667/)
- [Stablize `const_binary_heap_constructor`](/~https://github.com/rust-lang/rust/pull/125211/)
- [Stabilize Option::take_if](/~https://github.com/rust-lang/rust/pull/126089/)
- [Stabilize `seek_seek_relative`](/~https://github.com/rust-lang/rust/pull/123817/)
- [Stabilize `binary_heap_as_slice`](/~https://github.com/rust-lang/rust/pull/124012/)
- [Stabilize `non_null_convenience`](/~https://github.com/rust-lang/rust/pull/124498/)
- [Stabilize `split_at_checked`](/~https://github.com/rust-lang/rust/pull/124678/)
- [Stabilize `byte_slice_trim_ascii` for `&[u8]`/`&str`](/~https://github.com/rust-lang/rust/pull/124928/)
- [Stabilise `IpvNAddr::{BITS, to_bits, from_bits}` (`ip_bits`)](/~https://github.com/rust-lang/rust/pull/125551/)
- [Stabilize `slice_flatten`](/~https://github.com/rust-lang/rust/pull/125561/)


<a id="1.80-Cargo"></a>

Cargo
-----
**relnotes**
- [Stabilize `-Zcheck-cfg` as always enabled](/~https://github.com/rust-lang/cargo/pull/13571/)
- [Warn, rather than fail publish, if a target is excluded](/~https://github.com/rust-lang/cargo/pull/13713/)
- [Add special `check-cfg` lint config for the `unexpected_cfgs` lint](/~https://github.com/rust-lang/cargo/pull/13913/)
- [Stabilize `cargo update --precise <yanked>`](/~https://github.com/rust-lang/cargo/pull/13974/)
- [Build only the specified artifact library when multiple types are available](/~https://github.com/rust-lang/cargo/pull/13842/)
- [Don't change file permissions on `Cargo.toml` when using `cargo add`](/~https://github.com/rust-lang/cargo/pull/13898/)
- [Support using `cargo fix` on IPv6-only networks](/~https://github.com/rust-lang/cargo/pull/13907/)


<a id="1.80-Rustdoc"></a>

Rustdoc
-----

- [Allow searching for references](/~https://github.com/rust-lang/rust/pull/124148/)
- [Stabilize `custom_code_classes_in_docs` feature](/~https://github.com/rust-lang/rust/pull/124577/)
- [fix: In cross-crate scenarios show enum variants on type aliases of enums](/~https://github.com/rust-lang/rust/pull/125300/)


<a id="1.80-Compatibility-Notes"></a>

Compatibility Notes
-------------------
- [rustfmt estimates line lengths differently when using non-ascii characters](/~https://github.com/rust-lang/rustfmt/issues/6203)
- [Type aliases are now handled correctly in orphan check](/~https://github.com/rust-lang/rust/pull/117164/)
- [Allow instructing rustdoc to read from stdin via `-`](/~https://github.com/rust-lang/rust/pull/124611/)
- [`std::env::{set_var, remove_var}` can no longer be converted to safe function pointers and no longer implement the `Fn` family of traits](/~https://github.com/rust-lang/rust/pull/124636)
- [Warn (or error) when `Self` ctor from outer item is referenced in inner nested item](/~https://github.com/rust-lang/rust/pull/124187/)
- [Turn non-structural-const-in-pattern lints into hard errors](/~https://github.com/rust-lang/rust/pull/124661/)
- [Make `WHERE_CLAUSES_OBJECT_SAFETY` lint a regular object safety violation](/~https://github.com/rust-lang/rust/pull/125380/)
- [Convert `proc_macro_back_compat` lint to an unconditional error.](/~https://github.com/rust-lang/rust/pull/125596/)

<a id="1.80-Internal-Changes"></a>

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.

- Misc improvements to size of generated html by rustdoc e.g. [#124738](/~https://github.com/rust-lang/rust/pull/124738/) and #[#123734](/~https://github.com/rust-lang/rust/pull/123734/)



Version 1.79.0 (2024-06-13)
==========================

Expand Down

0 comments on commit 9d02bdc

Please sign in to comment.