<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/ui/pattern/deref-patterns, branch 1.87.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.87.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.87.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-03-13T08:01:26+00:00</updated>
<entry>
<title>EUV: fix place of deref pattern's interior's scrutinee</title>
<updated>2025-03-13T08:01:26+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-03-13T06:08:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=36ff87e90e7f39cffb508292a63792cc0dcfbd6e'/>
<id>urn:sha1:36ff87e90e7f39cffb508292a63792cc0dcfbd6e</id>
<content type='text'>
The place previously used here was that of the temporary holding the
reference returned by `Deref::deref` or `DerefMut::deref_mut`. However,
since the inner pattern of `deref!(inner)` expects the deref-target type
itself, this would ICE when that type was inspected (e.g. by the EUV
case for slice patterns). This adds a deref projection to fix that.

Since current in-tree consumers of EUV (upvar inference and clippy)
don't care about Rvalues, the place could be simplified to
`self.cat_rvalue(pat.hir_id, self.pat_ty_adjusted(subpat)?)` to save
some cycles. I personally find EUV to be a bit fragile, so I've opted
for pedantic correctness. Maybe a `HACK` comment would suffice though?
</content>
</entry>
<entry>
<title>`add_move_error_suggestions`: use a HIR visitor rather than `SourceMap`</title>
<updated>2024-11-26T04:29:04+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2024-11-26T04:25:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=04d9bb7a9a697f71abc4aac849a262f713807f29'/>
<id>urn:sha1:04d9bb7a9a697f71abc4aac849a262f713807f29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Test or-patterns inside deref patterns</title>
<updated>2024-04-20T14:04:06+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2024-04-08T18:05:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=217a4dff7da0e4be2c22fd8f822cb543745c6727'/>
<id>urn:sha1:217a4dff7da0e4be2c22fd8f822cb543745c6727</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use deep fake borrows for deref patterns</title>
<updated>2024-04-20T14:04:05+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2024-04-05T22:29:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=436c61266c7e9c4d6b7a57a8a6170700eda68fd0'/>
<id>urn:sha1:436c61266c7e9c4d6b7a57a8a6170700eda68fd0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Address closure-related review</title>
<updated>2024-04-20T13:59:54+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2024-04-05T21:42:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b55afe475aee1e51196e35845ba1553c96f041cf'/>
<id>urn:sha1:b55afe475aee1e51196e35845ba1553c96f041cf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow mutable bindings inside deref patterns</title>
<updated>2024-04-20T13:59:54+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2024-04-03T22:46:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=377e095371ae99dfdd61d5b50d4a43422b34ca23'/>
<id>urn:sha1:377e095371ae99dfdd61d5b50d4a43422b34ca23</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't fake borrow inside a deref pattern</title>
<updated>2024-04-20T13:59:54+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2024-03-09T15:10:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1dabacd059403a7dabf283f4ee02148cb5f69bd4'/>
<id>urn:sha1:1dabacd059403a7dabf283f4ee02148cb5f69bd4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lower deref patterns to MIR</title>
<updated>2024-04-20T13:59:54+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2024-03-09T02:29:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c623319a30d50d88091120fe5ac9354572d56662'/>
<id>urn:sha1:c623319a30d50d88091120fe5ac9354572d56662</id>
<content type='text'>
This handles using deref patterns to choose the correct match arm. This
does not handle bindings or guards.

Co-authored-by: Deadbeef &lt;ent3rm4n@gmail.com&gt;
</content>
</entry>
<entry>
<title>Require DerefMut if deref pattern has nested ref mut binding</title>
<updated>2024-03-25T23:39:45+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-03-21T18:38:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5fdc7555c1d6c80a51a3a88c494f255f719bdd35'/>
<id>urn:sha1:5fdc7555c1d6c80a51a3a88c494f255f719bdd35</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement macro-based deref!() syntax for deref patterns</title>
<updated>2024-03-21T15:42:49+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-03-20T20:53:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2d633317f30dd02895f167b65dc1feeee0d08265'/>
<id>urn:sha1:2d633317f30dd02895f167b65dc1feeee0d08265</id>
<content type='text'>
Stop using `box PAT` syntax for deref patterns, as it's misleading and
also causes their semantics being tangled up.
</content>
</entry>
</feed>
