<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_transmute/src/maybe_transmutable/mod.rs, branch 1.68.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.68.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.68.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-09-04T07:55:44+00:00</updated>
<entry>
<title>Auto merge of #100726 - jswrenn:transmute, r=oli-obk</title>
<updated>2022-09-04T07:55:44+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-09-04T07:55:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8521a8c92da6c0c845d4f6394e903651a227946a'/>
<id>urn:sha1:8521a8c92da6c0c845d4f6394e903651a227946a</id>
<content type='text'>
safe transmute: use `Assume` struct to provide analysis options

This task was left as a TODO in #92268; resolving it brings [`BikeshedIntrinsicFrom`](https://doc.rust-lang.org/nightly/core/mem/trait.BikeshedIntrinsicFrom.html) more in line with the API defined in [MCP411](https://github.com/rust-lang/compiler-team/issues/411).

**Before:**
```rust
pub unsafe trait BikeshedIntrinsicFrom&lt;
    Src,
    Context,
    const ASSUME_ALIGNMENT: bool,
    const ASSUME_LIFETIMES: bool,
    const ASSUME_VALIDITY: bool,
    const ASSUME_VISIBILITY: bool,
&gt; where
    Src: ?Sized,
{}
```
**After:**
```rust
pub unsafe trait BikeshedIntrinsicFrom&lt;Src, Context, const ASSUME: Assume = { Assume::NOTHING }&gt;
where
    Src: ?Sized,
{}
```

`Assume::visibility` has also been renamed to `Assume::safety`, as library safety invariants are what's actually being assumed; visibility is just the mechanism by which it is currently checked (and that may change).

r? `@oli-obk`

---

Related:
- https://github.com/rust-lang/compiler-team/issues/411
- https://github.com/rust-lang/rust/issues/99571
</content>
</entry>
<entry>
<title>Always import all tracing macros for the entire crate instead of piecemeal by module</title>
<updated>2022-09-01T14:54:27+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2022-08-31T13:09:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ee3c8350189de045ec71997874eaa6cebf99fbf3'/>
<id>urn:sha1:ee3c8350189de045ec71997874eaa6cebf99fbf3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>safe transmute: use `Assume` struct to provide analysis options</title>
<updated>2022-08-22T18:37:54+00:00</updated>
<author>
<name>Jack Wrenn</name>
<email>jack@wrenn.fyi</email>
</author>
<published>2022-08-18T19:39:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f46fffc276c19b2c81c9b5e84f4f8678fc4d6d0a'/>
<id>urn:sha1:f46fffc276c19b2c81c9b5e84f4f8678fc4d6d0a</id>
<content type='text'>
This was left as a TODO in #92268, and brings the trait more in
line with what was defined in MCP411.

`Assume::visibility` has been renamed to `Assume::safety`, as
library safety is what's actually being assumed; visibility is
just the mechanism by which it is currently checked (this may
change).

ref: https://github.com/rust-lang/compiler-team/issues/411
ref: https://github.com/rust-lang/rust/issues/99571
</content>
</entry>
<entry>
<title>safe transmute: lowercase tracing levels</title>
<updated>2022-07-27T17:33:57+00:00</updated>
<author>
<name>Jack Wrenn</name>
<email>jack@wrenn.fyi</email>
</author>
<published>2022-07-21T21:57:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aee5f31c682664bd2e42be6b3fefdd3dd8a390e8'/>
<id>urn:sha1:aee5f31c682664bd2e42be6b3fefdd3dd8a390e8</id>
<content type='text'>
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r927095154
</content>
</entry>
<entry>
<title>safe transmute: tweak tracing</title>
<updated>2022-07-27T17:33:56+00:00</updated>
<author>
<name>Jack Wrenn</name>
<email>jack@wrenn.fyi</email>
</author>
<published>2022-07-21T17:28:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c0d0ce95ebdab2817b2b6240f802b5814a1dfcfe'/>
<id>urn:sha1:c0d0ce95ebdab2817b2b6240f802b5814a1dfcfe</id>
<content type='text'>
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925246903
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925250811
ref: https://github.com/rust-lang/rust/pull/92268#discussion_r925255782
</content>
</entry>
<entry>
<title>Initial (incomplete) implementation of transmutability trait.</title>
<updated>2022-07-27T17:33:56+00:00</updated>
<author>
<name>Jack Wrenn</name>
<email>jack@wrenn.fyi</email>
</author>
<published>2021-07-03T16:18:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bc4a1dea416e1695cf77acd17ea743d4d802bae0'/>
<id>urn:sha1:bc4a1dea416e1695cf77acd17ea743d4d802bae0</id>
<content type='text'>
This initial implementation handles transmutations between types with specified layouts, except when references are involved.

Co-authored-by: Igor null &lt;m1el.2027@gmail.com&gt;
</content>
</entry>
</feed>
