<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_pattern_analysis/src, 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-07-27T23:01:39+00:00</updated>
<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>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>
<entry>
<title>treat box patterns as deref patterns in THIR and usefulness analysis</title>
<updated>2025-07-04T08:28:35+00:00</updated>
<author>
<name>dianne</name>
<email>diannes.gm@gmail.com</email>
</author>
<published>2025-07-04T08:23:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=98659a339dd7203e0f23871b327b9305940e0d61'/>
<id>urn:sha1:98659a339dd7203e0f23871b327b9305940e0d61</id>
<content type='text'>
This removes special-casing of boxes from `rustc_pattern_analysis`, as a
first step in replacing `box_patterns` with `deref_patterns`.
Incidentally, it fixes a bug caused by box patterns being represented as
structs rather than pointers, where `exhaustive_patterns` could generate
spurious `unreachable_patterns` lints on arms required for
exhaustiveness; following the lint's advice would result in an error.
</content>
</entry>
<entry>
<title>setup CI and tidy to use typos for spellchecking and fix few typos</title>
<updated>2025-07-03T07:51:06+00:00</updated>
<author>
<name>klensy</name>
<email>klensy@users.noreply.github.com</email>
</author>
<published>2024-12-07T10:51:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c76d032f0144b650a438ee1efba89c475e0b115b'/>
<id>urn:sha1:c76d032f0144b650a438ee1efba89c475e0b115b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `#[loop_match]` for improved DFA codegen</title>
<updated>2025-06-23T18:43:04+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2025-02-18T13:16:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ba5556d239c11232dc8d95123ea70a2783019476'/>
<id>urn:sha1:ba5556d239c11232dc8d95123ea70a2783019476</id>
<content type='text'>
Co-authored-by: Folkert de Vries &lt;folkert@folkertdev.nl&gt;
</content>
</entry>
</feed>
