<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_pattern_analysis/src, branch 1.81.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.81.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.81.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-07-19T18:52:07+00:00</updated>
<entry>
<title>Avoid ref when using format! in compiler</title>
<updated>2024-07-19T18:52:07+00:00</updated>
<author>
<name>Yuri Astrakhan</name>
<email>YuriAstrakhan@gmail.com</email>
</author>
<published>2024-07-19T15:51:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aef0e346de744faeaa522b9c08562bb3e1814adc'/>
<id>urn:sha1:aef0e346de744faeaa522b9c08562bb3e1814adc</id>
<content type='text'>
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &amp;variable)`, and does a run-time double-reference instead (format macro already does one level referencing).  Inlining format args prevents accidental `&amp;` misuse.
</content>
</entry>
<entry>
<title>pattern lowering: make sure we never call user-defined PartialEq instances</title>
<updated>2024-07-18T09:58:16+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-07-13T16:03:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=86ce911f90d9498b33738655c8cfed2f637c335a'/>
<id>urn:sha1:86ce911f90d9498b33738655c8cfed2f637c335a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid comments that describe multiple `use` items.</title>
<updated>2024-07-16T22:02:46+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-06-20T05:44:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=75b6ec980059292faa9cdf538b552faf6b70fb29'/>
<id>urn:sha1:75b6ec980059292faa9cdf538b552faf6b70fb29</id>
<content type='text'>
There are some comments describing multiple subsequent `use` items. When
the big `use` reformatting happens some of these `use` items will be
reordered, possibly moving them away from the comment. With this
additional level of formatting it's not really feasible to have comments
of this type. This commit removes them in various ways:

- merging separate `use` items when appropriate;

- inserting blank lines between the comment and the first `use` item;

- outright deletion (for comments that are relatively low-value);

- adding a separate "top-level" comment.

We also entirely skip formatting for four library files that contain
nothing but `pub use` re-exports, where reordering would be painful.
</content>
</entry>
<entry>
<title>Replace `f16` and `f128` pattern matching stubs with real implementations</title>
<updated>2024-06-23T09:28:42+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2024-03-26T10:01:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6fb6c19c961369b98e2dd9466c1a83ac2d783ae2'/>
<id>urn:sha1:6fb6c19c961369b98e2dd9466c1a83ac2d783ae2</id>
<content type='text'>
This section of code depends on `rustc_apfloat` rather than our internal
types, so this is one potential ICE that we should be able to melt now.

This also fixes some missing range and match handling in `rustc_middle`.
</content>
</entry>
<entry>
<title>Add blank lines after module-level `//!` comments.</title>
<updated>2024-06-19T23:23:20+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-06-19T19:04:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=665821cb606076bcf159c47e3e8e72a14fa512e3'/>
<id>urn:sha1:665821cb606076bcf159c47e3e8e72a14fa512e3</id>
<content type='text'>
Most modules have such a blank line, but some don't. Inserting the blank
line makes it clearer that the `//!` comments are describing the entire
module, rather than the `use` declaration(s) that immediately follows.
</content>
</entry>
<entry>
<title>Use `tidy` to sort crate attributes for all compiler crates.</title>
<updated>2024-06-12T05:49:10+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-06-12T03:49:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=75b164d836ff82b459dfb05646bf0328dd23d2fd'/>
<id>urn:sha1:75b164d836ff82b459dfb05646bf0328dd23d2fd</id>
<content type='text'>
We already do this for a number of crates, e.g. `rustc_middle`,
`rustc_span`, `rustc_metadata`, `rustc_span`, `rustc_errors`.

For the ones we don't, in many cases the attributes are a mess.
- There is no consistency about order of attribute kinds (e.g.
  `allow`/`deny`/`feature`).
- Within attribute kind groups (e.g. the `feature` attributes),
  sometimes the order is alphabetical, and sometimes there is no
  particular order.
- Sometimes the attributes of a particular kind aren't even grouped
  all together, e.g. there might be a `feature`, then an `allow`, then
  another `feature`.

This commit extends the existing sorting to all compiler crates,
increasing consistency. If any new attribute line is added there is now
only one place it can go -- no need for arbitrary decisions.

Exceptions:
- `rustc_log`, `rustc_next_trait_solver` and `rustc_type_ir_macros`,
  because they have no crate attributes.
- `rustc_codegen_gcc`, because it's quasi-external to rustc (e.g. it's
  ignored in `rustfmt.toml`).
</content>
</entry>
<entry>
<title>ScalarInt: size mismatches are a bug, do not delay the panic</title>
<updated>2024-06-10T11:43:16+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-06-08T14:13:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3c57ea0df79c8ee2ad1ff99881f80ab87b186935'/>
<id>urn:sha1:3c57ea0df79c8ee2ad1ff99881f80ab87b186935</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `Ty` to `mir::Const::Ty`</title>
<updated>2024-06-05T21:25:41+00:00</updated>
<author>
<name>Boxy</name>
<email>supbscripter@gmail.com</email>
</author>
<published>2024-06-03T03:46:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=60a5bebbe591f228bf83f3c48f5f60fe87dedaad'/>
<id>urn:sha1:60a5bebbe591f228bf83f3c48f5f60fe87dedaad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove `LintDiagnostic::msg`</title>
<updated>2024-05-23T02:08:35+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2024-05-22T14:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=06bc4fc67145e3a7be9b5a2cf2b5968cef36e587'/>
<id>urn:sha1:06bc4fc67145e3a7be9b5a2cf2b5968cef36e587</id>
<content type='text'>
* instead simply set the primary message inside the lint decorator functions
* it used to be this way before [#]101986 which introduced `msg` to prevent
  good path delayed bugs (which no longer exist) from firing under certain
  circumstances when lints were suppressed / silenced
* this is no longer necessary for various reasons I presume
* it shaves off complexity and makes further changes easier to implement
</content>
</entry>
<entry>
<title>Stabilize exclusive_range</title>
<updated>2024-05-02T23:42:31+00:00</updated>
<author>
<name>Ross Smyth</name>
<email>18294397+RossSmyth@users.noreply.github.com</email>
</author>
<published>2024-04-28T00:35:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6967d1c0fcea4ade223bf3ae443a87d504005cbf'/>
<id>urn:sha1:6967d1c0fcea4ade223bf3ae443a87d504005cbf</id>
<content type='text'>
</content>
</entry>
</feed>
