<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_ty_utils/src, branch 1.71.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.71.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.71.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-05-20T23:34:31+00:00</updated>
<entry>
<title>ensure !Unpin types do not get noalias</title>
<updated>2023-05-20T23:34:31+00:00</updated>
<author>
<name>Erik Desjardins</name>
<email>erikdesjardins@users.noreply.github.com</email>
</author>
<published>2023-05-20T23:34:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=644818351b95c7a50eb05d73164cc6f4480ce9e7'/>
<id>urn:sha1:644818351b95c7a50eb05d73164cc6f4480ce9e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>improve code checking for drop_in_place lang item</title>
<updated>2023-05-20T22:12:54+00:00</updated>
<author>
<name>Erik Desjardins</name>
<email>erikdesjardins@users.noreply.github.com</email>
</author>
<published>2023-05-20T21:54:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=47444d7c2559f4a82ec2d5ca65d86ad795e48aef'/>
<id>urn:sha1:47444d7c2559f4a82ec2d5ca65d86ad795e48aef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Apply `noalias`, `nonnull`, `dereferenceable`, and `align` attributes unconditionally.</title>
<updated>2023-05-20T22:12:54+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@fb.com</email>
</author>
<published>2022-11-17T23:24:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21b8815b6cd74d307ebbdef7cf8c6de6b486c706'/>
<id>urn:sha1:21b8815b6cd74d307ebbdef7cf8c6de6b486c706</id>
<content type='text'>
We've done measurements with Miri and have determined that `noalias` shouldn't
break code. The requirements that allow us to add dereferenceable and align
have been long documented in the standard library documentation.
</content>
</entry>
<entry>
<title>[rustc_ty_utils] Add the LLVM `noalias` parameter attribute to `drop_in_place` in certain cases.</title>
<updated>2023-05-20T22:12:53+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@fb.com</email>
</author>
<published>2022-10-26T22:12:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f71741bac41a5373791958d4a0a36c84d83b1bd5'/>
<id>urn:sha1:f71741bac41a5373791958d4a0a36c84d83b1bd5</id>
<content type='text'>
LLVM can make use of the `noalias` parameter attribute on the parameter to
`drop_in_place` in areas like argument promotion. Because the Rust compiler
fully controls the code for `drop_in_place`, it can soundly deduce parameter
attributes on it. In the case of a value that has a programmer-defined Drop
implementation, we know that the first thing `drop_in_place` will do is pass a
pointer to the object to `Drop::drop`. `Drop::drop` takes `&amp;mut`, so it must be
guaranteed that there are no pointers to the object upon entering that
function. Therefore, it should be safe to mark `noalias` there.

With this patch, we mark `noalias` only when the type is a value with a
programmer-defined Drop implementation. This is possibly overly conservative,
but I thought that proceeding cautiously was best in this instance.
</content>
</entry>
<entry>
<title>Rollup merge of #111578 - Zoxc:query-macro-move, r=cjgillot</title>
<updated>2023-05-15T15:12:46+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-05-15T15:12:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2f0b456903c314601815685e56a3e83cf4444f36'/>
<id>urn:sha1:2f0b456903c314601815685e56a3e83cf4444f36</id>
<content type='text'>
Move expansion of query macros in rustc_middle to rustc_middle::query

This moves the expansion of `define_callbacks!` and `define_feedable!` from `rustc_middle::ty::query` to `rustc_middle::query`.

This means that types used in queries are both imported and used in `rustc_middle::query` instead of being split between these modules. It also decouples `rustc_middle::ty::query` further from `rustc_middle` which is helpful since we want to move `rustc_middle::ty::query` to the query system crates.
</content>
</entry>
<entry>
<title>Move expansion of query macros in rustc_middle to rustc_middle::query</title>
<updated>2023-05-15T06:49:13+00:00</updated>
<author>
<name>John Kåre Alsaker</name>
<email>john.kare.alsaker@gmail.com</email>
</author>
<published>2023-05-15T04:24:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fff20a703db364d8b91c14cef4779f5e632df191'/>
<id>urn:sha1:fff20a703db364d8b91c14cef4779f5e632df191</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #111570 - compiler-errors:ct-err, r=BoxyUwU</title>
<updated>2023-05-15T01:03:29+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-05-15T01:03:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8d18c32b61476ed16dd15074e71be3970368d6d7'/>
<id>urn:sha1:8d18c32b61476ed16dd15074e71be3970368d6d7</id>
<content type='text'>
Rename const error methods for consistency

renames `ty::Const`'s methods for creating a `ConstKind::Error` to be in the same naming style as `ty::Ty`'s equivalent methods.

r? `@BoxyUwU`
</content>
</entry>
<entry>
<title>Rename const error methods for consistency</title>
<updated>2023-05-14T20:32:51+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-05-14T20:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8e163f9dce5da0c8badc365bba85b85b93850517'/>
<id>urn:sha1:8e163f9dce5da0c8badc365bba85b85b93850517</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use the opaque_types_defined_by query to cheaply check for whether a hidden type may be registered for an opaque type</title>
<updated>2023-05-12T10:26:50+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2023-04-25T08:07:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4e92f761fe54fc602ec2bf63819e8c973d1facd5'/>
<id>urn:sha1:4e92f761fe54fc602ec2bf63819e8c973d1facd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add `query opaque_types_defined_by`</title>
<updated>2023-05-12T10:26:07+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2023-04-18T14:09:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6ae803eedfeb57944cd0d2930d9a8b7a606baf4a'/>
<id>urn:sha1:6ae803eedfeb57944cd0d2930d9a8b7a606baf4a</id>
<content type='text'>
</content>
</entry>
</feed>
