<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_pattern_analysis, branch lcnr/rustc-dev-guide</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=lcnr/rustc-dev-guide</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=lcnr/rustc-dev-guide'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-08-08T19:22:44+00:00</updated>
<entry>
<title>Rollup merge of #144545 - ChayimFriedman2:bool-witness-order, r=Nadrieril</title>
<updated>2025-08-08T19:22:44+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-08-08T19:22:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=18abf3aa44c53652c017752eda43f0405cd22c13'/>
<id>urn:sha1:18abf3aa44c53652c017752eda43f0405cd22c13</id>
<content type='text'>
In rustc_pattern_analysis, put `true` witnesses before `false` witnesses

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.

r? `@Nadrieril`
</content>
</entry>
<entry>
<title>Tidy up `Cargo.toml` files.</title>
<updated>2025-07-31T09:58:04+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-07-31T03:15:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=704f2ca17224dc1d208423c675313521b0f49645'/>
<id>urn:sha1:704f2ca17224dc1d208423c675313521b0f49645</id>
<content type='text'>
- Add some missing `tidy-alphabetical-*` markers.
- Remove some unnecessary blank lines.
</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>Rollup merge of #144171 - Nadrieril:exhaustive-witnesses, r=davidtwco</title>
<updated>2025-07-26T06:15:04+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-07-26T06:15:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3f7d497c8aba1b415c2b9b6a597eab1faa744416'/>
<id>urn:sha1:3f7d497c8aba1b415c2b9b6a597eab1faa744416</id>
<content type='text'>
pattern_analysis: add option to get a full set of witnesses

This adds an option to the rustc_pattern_analysis machinery to have it report a complete set of patterns when a match is non-exhaustive (by default we only guarantee to report _some_ missing patterns). This is for use in rust-analyzer.

Leaving as draft until I'm sure this is what r-a needs.

r? ghost
</content>
</entry>
<entry>
<title>Silence a warning</title>
<updated>2025-07-20T16:27:30+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2025-07-19T20:14:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=af07c08c60fe779c2e73c561403cb5edf4f15e9b'/>
<id>urn:sha1:af07c08c60fe779c2e73c561403cb5edf4f15e9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>List all the variants of non-exhaustive enums in exhaustive mode</title>
<updated>2025-07-20T16:27:30+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2025-07-19T19:18:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9b01de20e10376d379ae32baa6a315d8e30cb351'/>
<id>urn:sha1:9b01de20e10376d379ae32baa6a315d8e30cb351</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pattern_analysis: add option to get a full set of witnesses</title>
<updated>2025-07-20T16:27:30+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2025-07-19T09:28:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2bb00741d463143a10e632bb118d4ed336dbb75f'/>
<id>urn:sha1:2bb00741d463143a10e632bb118d4ed336dbb75f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't consider unstable fields always-inhabited</title>
<updated>2025-07-20T16:23:18+00:00</updated>
<author>
<name>Nadrieril</name>
<email>nadrieril+git@gmail.com</email>
</author>
<published>2025-07-20T12:28:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3567ab19a0edb4f6c7ca88157d84caa3e1564326'/>
<id>urn:sha1:3567ab19a0edb4f6c7ca88157d84caa3e1564326</id>
<content type='text'>
This reverts the hack in https://github.com/rust-lang/rust/pull/133889
now that `Pin`'s field is no longer public.
</content>
</entry>
<entry>
<title>only check for mixed deref/normal constructors when needed</title>
<updated>2025-07-05T06:47:31+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-07-05T04:53:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bb643159786c789c0b64f819d36a0979c63f9791'/>
<id>urn:sha1:bb643159786c789c0b64f819d36a0979c63f9791</id>
<content type='text'>
</content>
</entry>
<entry>
<title>always check for mixed deref pattern and normal constructors</title>
<updated>2025-07-05T06:47:31+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-07-05T04:17:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=50061f3b11f51d7a6e3acd8ce793a1f17f99b597'/>
<id>urn:sha1:50061f3b11f51d7a6e3acd8ce793a1f17f99b597</id>
<content type='text'>
This makes it work for box patterns and in rust-analyzer.
</content>
</entry>
</feed>
