<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_mir_dataflow/src/framework, branch 1.72.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.72.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.72.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-06-27T09:35:32+00:00</updated>
<entry>
<title>Export AnalysisResults trait in rustc_mir_dataflow</title>
<updated>2023-06-27T09:35:32+00:00</updated>
<author>
<name>Florian Groult</name>
<email>florian.groult@univ-orleans.fr</email>
</author>
<published>2023-06-27T09:35:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3224ea44244d1a86dc4cd618ccaec2ea188ea230'/>
<id>urn:sha1:3224ea44244d1a86dc4cd618ccaec2ea188ea230</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #112232 - fee1-dead-contrib:match-eq-const-msg, r=b-naber</title>
<updated>2023-06-20T00:53:33+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-06-20T00:53:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=31d1fbf8d242df1be9ee14c9d46304f5fcb63792'/>
<id>urn:sha1:31d1fbf8d242df1be9ee14c9d46304f5fcb63792</id>
<content type='text'>
Better error for non const `PartialEq` call generated by `match`

Resolves #90237
</content>
</entry>
<entry>
<title>Better error for non const `PartialEq` call generated by `match`</title>
<updated>2023-06-18T05:24:38+00:00</updated>
<author>
<name>Deadbeef</name>
<email>ent3rm4n@gmail.com</email>
</author>
<published>2023-06-18T05:24:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=89c24af133ddc3e5ee2bee03222da935b50d10e8'/>
<id>urn:sha1:89c24af133ddc3e5ee2bee03222da935b50d10e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make mir dataflow graphviz dumps opt-in</title>
<updated>2023-06-14T12:30:13+00:00</updated>
<author>
<name>Rémy Rakic</name>
<email>remy.rakic+github@gmail.com</email>
</author>
<published>2023-06-14T12:14:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9395e2771ab0fab5d89f9422610b571096c87a3a'/>
<id>urn:sha1:9395e2771ab0fab5d89f9422610b571096c87a3a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #108293 - Jarcho:mut_analyses, r=eholk</title>
<updated>2023-06-08T23:58:44+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-06-08T23:58:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=68c8fdaac071432c0a5c149ece5c094449fbe8e0'/>
<id>urn:sha1:68c8fdaac071432c0a5c149ece5c094449fbe8e0</id>
<content type='text'>
Take MIR dataflow analyses by mutable reference

The main motivation here is any analysis requiring dynamically sized scratch memory to work. One concrete example would be pointer target tracking, where tracking the results of a dereference can result in multiple possible targets. This leads to processing multi-level dereferences requiring the ability to handle a changing number of potential targets per step. A (simplified) function for this would be `fn apply_deref(potential_targets: &amp;mut Vec&lt;Target&gt;)` which would use the scratch space contained in the analysis to send arguments and receive the results.

The alternative to this would be to wrap everything in a `RefCell`, which is what `MaybeRequiresStorage` currently does. This comes with a small perf cost and loses the compiler's guarantee that we don't try to take multiple borrows at the same time.

For the implementation:
* `AnalysisResults` is an unfortunate requirement to avoid an unconstrained type parameter error.
* `CloneAnalysis` could just be `Clone` instead, but that would result in more work than is required to have multiple cursors over the same result set.
* `ResultsVisitor` now takes the results type on in each function as there's no other way to have access to the analysis without cloning it. This could use an associated type rather than a type parameter, but the current approach makes it easier to not care about the type when it's not necessary.
* `MaybeRequiresStorage` now no longer uses a `RefCell`, but the graphviz formatter now does. It could be removed, but that would require even more changes and doesn't really seem necessary.
</content>
</entry>
<entry>
<title>Remove DesugaringKind::Replace.</title>
<updated>2023-05-25T17:40:46+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-25T17:30:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=844c1cc5fec38f691a2ffb53ef3366f25cf7b02b'/>
<id>urn:sha1:844c1cc5fec38f691a2ffb53ef3366f25cf7b02b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Take MIR dataflow analyses by mutable reference.</title>
<updated>2023-05-18T21:46:39+00:00</updated>
<author>
<name>Jason Newcomb</name>
<email>jsnewcomb@pm.me</email>
</author>
<published>2023-02-20T22:28:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eaddc3707520988f8bc2d267cb192d2f0c63ee80'/>
<id>urn:sha1:eaddc3707520988f8bc2d267cb192d2f0c63ee80</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make HasTop and HasBottom consts.</title>
<updated>2023-05-09T17:27:58+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-04-24T17:10:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=71138e99337e791eb73d73d8a2cf8aaef29960b1'/>
<id>urn:sha1:71138e99337e791eb73d73d8a2cf8aaef29960b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split `{Idx, IndexVec, IndexSlice}` into their own modules</title>
<updated>2023-04-24T13:53:35+00:00</updated>
<author>
<name>Maybe Waffle</name>
<email>waffle.lapkin@gmail.com</email>
</author>
<published>2023-04-19T10:57:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e496fbec922b22d9b506ba55386c482b4bf06378'/>
<id>urn:sha1:e496fbec922b22d9b506ba55386c482b4bf06378</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix typos in compiler</title>
<updated>2023-04-10T20:02:52+00:00</updated>
<author>
<name>DaniPopes</name>
<email>57450786+DaniPopes@users.noreply.github.com</email>
</author>
<published>2023-04-10T20:02:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=677357d32bd402ff1096803cb00b52124204af08'/>
<id>urn:sha1:677357d32bd402ff1096803cb00b52124204af08</id>
<content type='text'>
</content>
</entry>
</feed>
