Skip to content

Commit

Permalink
Rollup merge of rust-lang#121840 - oli-obk:freeze, r=dtolnay
Browse files Browse the repository at this point in the history
Expose the Freeze trait again (unstably) and forbid implementing it manually

non-emoji version of rust-lang#121501

cc rust-lang#60715

This trait is useful for generic constants (associated consts of generic traits). See the test (`tests/ui/associated-consts/freeze.rs`) added in this PR for a usage example. The builtin `Freeze` trait is the only way to do it, users cannot work around this issue.

It's also a useful trait for building some very specific abstrations, as shown by the usage by the `zerocopy` crate: google/zerocopy#941

cc ```@RalfJung```

T-lang signed off on reexposing this unstably: rust-lang#121501 (comment)
  • Loading branch information
jhpratt authored Mar 11, 2024
2 parents 01affeb + a11756c commit 221402e
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions example/mini_core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
rustc_attrs,
transparent_unions,
auto_traits,
freeze_impls,
thread_local
)]
#![no_core]
Expand Down

0 comments on commit 221402e

Please sign in to comment.