<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/ui/pattern/deref-patterns, branch automation/bors/try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=automation/bors/try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=automation/bors/try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-08-26T21:15:17+00:00</updated>
<entry>
<title>fix: Add col separator before secondary messages with no source</title>
<updated>2025-08-26T21:15:17+00:00</updated>
<author>
<name>Scott Schafer</name>
<email>schaferjscott@gmail.com</email>
</author>
<published>2025-07-03T21:47:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93d16c510066db062700e783a53461d45e5dbe4b'/>
<id>urn:sha1:93d16c510066db062700e783a53461d45e5dbe4b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>On E0277, point at type that doesn't implement bound</title>
<updated>2025-08-22T17:55:15+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2025-08-19T17:49:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=049c32797b5f797d5823cdc0e5aaeb0fd68175da'/>
<id>urn:sha1:049c32797b5f797d5823cdc0e5aaeb0fd68175da</id>
<content type='text'>
When encountering an unmet trait bound, point at local type that doesn't implement the trait:

```
error[E0277]: the trait bound `Bar&lt;T&gt;: Foo` is not satisfied
  --&gt; $DIR/issue-64855.rs:9:19
   |
LL | pub struct Bar&lt;T&gt;(&lt;Self as Foo&gt;::Type) where Self: ;
   |                   ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `Foo` is not implemented for `Bar&lt;T&gt;`
  --&gt; $DIR/issue-64855.rs:9:1
   |
LL | pub struct Bar&lt;T&gt;(&lt;Self as Foo&gt;::Type) where Self: ;
   | ^^^^^^^^^^^^^^^^^
```
</content>
</entry>
<entry>
<title>In rustc_pattern_analysis, put `true` witnesses before `false` witnesses</title>
<updated>2025-07-27T23:01:39+00:00</updated>
<author>
<name>Chayim Refael Friedman</name>
<email>chayimfr@gmail.com</email>
</author>
<published>2025-07-27T21:01:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6bf3cbe39e09f4d9187a0b1f6a7bd45101f7aad8'/>
<id>urn:sha1:6bf3cbe39e09f4d9187a0b1f6a7bd45101f7aad8</id>
<content type='text'>
In rustc it doesn't really matter what the order of the witnesses is, but I'm planning to use the witnesses for implementing the "add missing match arms" assist in rust-analyzer, and there `true` before `false` is the natural order (like `Some` before `None`), and also what the current assist does.

The current order doesn't seem to be intentional; the code was created when bool ctors became their own thing, not just int ctors, but for integer, 0 before 1 is indeed the natural order.
</content>
</entry>
<entry>
<title>error early when mixing deref patterns with normal constructors</title>
<updated>2025-05-07T01:53:55+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-04-21T06:57:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fb261a179d2c210785b6e9005201e262dac801b5'/>
<id>urn:sha1:fb261a179d2c210785b6e9005201e262dac801b5</id>
<content type='text'>
Without adding proper support for mixed exhaustiveness, mixing deref
patterns with normal constructors would either violate
`ConstructorSet::split`'s invariant 4 or 7. We'd either be ignoring rows
with normal constructors or we'd have problems in unspecialization from
non-disjoint constructors. Checking mixed exhaustivenss similarly to how
unions are currently checked should work, but the diagnostics for unions
are confusing. Since mixing deref patterns with normal constructors is
pretty niche (currently it only makes sense for `Cow`), emitting an
error lets us avoid committing to supporting mixed exhaustiveness
without a good answer for the diagnostics.
</content>
</entry>
<entry>
<title>add exhaustiveness/usefulness tests for deref patterns</title>
<updated>2025-05-07T01:53:55+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-04-18T10:03:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf43bba1e5ec87838fca248f36d940f2923576c2'/>
<id>urn:sha1:cf43bba1e5ec87838fca248f36d940f2923576c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>let deref patterns participate in usefulness/exhaustiveness</title>
<updated>2025-05-07T01:53:55+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-04-17T09:33:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b41d8bde00930d80f07b7aa90cc0a8e6bd423413'/>
<id>urn:sha1:b41d8bde00930d80f07b7aa90cc0a8e6bd423413</id>
<content type='text'>
This does not yet handle the case of mixed deref patterns with normal
constructors; it'll ICE in `Constructor::is_covered_by`. That'll be
fixed in a later commit.
</content>
</entry>
<entry>
<title>always peel `&amp;mut`, to allow matching on `&amp;mut str`</title>
<updated>2025-05-05T11:29:33+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-05-05T10:40:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=17bb4bbc86c2078e8ca09e2fdf6fd380094be6d6'/>
<id>urn:sha1:17bb4bbc86c2078e8ca09e2fdf6fd380094be6d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>match ergonomics for string and byte string literal patterns</title>
<updated>2025-05-05T11:10:49+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-04-16T05:09:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fe98130e0ff87ef16170b4f03afd5c7bbb7da573'/>
<id>urn:sha1:fe98130e0ff87ef16170b4f03afd5c7bbb7da573</id>
<content type='text'>
</content>
</entry>
<entry>
<title>compiletest: Make diagnostic kind mandatory on line annotations</title>
<updated>2025-04-30T07:44:24+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-04-05T16:19:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=20faf8532b5ddeb636ba3078344b0cad058c8f8a'/>
<id>urn:sha1:20faf8532b5ddeb636ba3078344b0cad058c8f8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Test partial moves via deref pats</title>
<updated>2025-04-27T15:25:15+00:00</updated>
<author>
<name>Nadrieril</name>
<email>Nadrieril@users.noreply.github.com</email>
</author>
<published>2025-04-27T12:18:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4e555fa52c5e853a47c7865397a1d6787643a51c'/>
<id>urn:sha1:4e555fa52c5e853a47c7865397a1d6787643a51c</id>
<content type='text'>
</content>
</entry>
</feed>
