<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/tools/clippy/tests/ui/crashes/unreachable-array-or-slice.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-02-28T22:27:09+00:00</updated>
<entry>
<title>Merge commit '9f9a822509e5ad3e560cbbe830d1013f936fca28' into clippy-subtree-update</title>
<updated>2025-02-28T22:27:09+00:00</updated>
<author>
<name>Philipp Krones</name>
<email>hello@philkrones.com</email>
</author>
<published>2025-02-28T22:20:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=65eb2b22371f506478a6d4c57bcadb15da1fbedc'/>
<id>urn:sha1:65eb2b22371f506478a6d4c57bcadb15da1fbedc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge commit '93f0a9a91f58c9b2153868f458402155fb6265bb' into clippy-subtree-update</title>
<updated>2024-03-07T16:19:29+00:00</updated>
<author>
<name>Philipp Krones</name>
<email>hello@philkrones.com</email>
</author>
<published>2024-03-07T16:19:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=73f7e79a3ba557b8f921cf29d651ec272eb4de48'/>
<id>urn:sha1:73f7e79a3ba557b8f921cf29d651ec272eb4de48</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Overhaul how stashed diagnostics work, again.</title>
<updated>2024-02-29T00:08:27+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-02-26T04:21:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=260ae701405f1278202de219bcdd0d60e8060da9'/>
<id>urn:sha1:260ae701405f1278202de219bcdd0d60e8060da9</id>
<content type='text'>
Stashed errors used to be counted as errors, but could then be
cancelled, leading to `ErrorGuaranteed` soundness holes. #120828 changed
that, closing the soundness hole. But it introduced other difficulties
because you sometimes have to account for pending stashed errors when
making decisions about whether errors have occured/will occur and it's
easy to overlook these.

This commit aims for a middle ground.
- Stashed errors (not warnings) are counted immediately as emitted
  errors, avoiding the possibility of forgetting to consider them.
- The ability to cancel (or downgrade) stashed errors is eliminated, by
  disallowing the use of `steal_diagnostic` with errors, and introducing
  the more restrictive methods `try_steal_{modify,replace}_and_emit_err`
  that can be used instead.

Other things:
- `DiagnosticBuilder::stash` and `DiagCtxt::stash_diagnostic` now both
  return `Option&lt;ErrorGuaranteed&gt;`, which enables the removal of two
  `delayed_bug` calls and one `Ty::new_error_with_message` call. This is
  possible because we store error guarantees in
  `DiagCtxt::stashed_diagnostics`.
- Storing the guarantees also saves us having to maintain a counter.
- Calls to the `stashed_err_count` method are no longer necessary
  alongside calls to `has_errors`, which is a nice simplification, and
  eliminates two more `span_delayed_bug` calls and one FIXME comment.
- Tests are added for three of the four fixed PRs mentioned below.
- `issue-121108.rs`'s output improved slightly, omitting a non-useful
  error message.

Fixes #121451.
Fixes #121477.
Fixes #121504.
Fixes #121508.
</content>
</entry>
</feed>
