<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/coverageinfo, branch 1.77.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.77.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.77.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-01-30T04:43:10+00:00</updated>
<entry>
<title>add missing potential_query_instability for keys and values in hashmap</title>
<updated>2024-01-30T04:43:10+00:00</updated>
<author>
<name>yukang</name>
<email>moorekang@gmail.com</email>
</author>
<published>2024-01-30T04:42:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ad526d831e295facc198610a27350076aa5aa438'/>
<id>urn:sha1:ad526d831e295facc198610a27350076aa5aa438</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Add enums to accommodate other kinds of coverage mappings</title>
<updated>2024-01-11T05:43:12+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-12-28T03:07:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=124fff0777014323be34f0a990c78c5cfe9f40db'/>
<id>urn:sha1:124fff0777014323be34f0a990c78c5cfe9f40db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Avoid a query stability hazard in `function_coverage_map`</title>
<updated>2024-01-02T11:57:04+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2024-01-02T11:57:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5e7c1b93ac7f5fb1bd5297980e8b6b3657a10c32'/>
<id>urn:sha1:5e7c1b93ac7f5fb1bd5297980e8b6b3657a10c32</id>
<content type='text'>
When #118865 started enforcing the `rustc::potential_query_instability` lint in
`rustc_codegen_llvm`, it added an exemption for this site, arguing that the
entries are only used to create a list of filenames that is later sorted.

However, the list of entries also gets traversed when creating the function
coverage records in LLVM IR, which may be sensitive to hash-based ordering.

This patch therefore changes `function_coverage_map` to use `FxIndexMap`, which
should avoid hash-based instability by iterating in insertion order.
</content>
</entry>
<entry>
<title>coverage: Avoid creating `func_coverage` for marker statements</title>
<updated>2023-12-16T00:10:11+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-12-12T02:49:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c57f28bbf75572e10c6165c33a2aef922315fdb4'/>
<id>urn:sha1:c57f28bbf75572e10c6165c33a2aef922315fdb4</id>
<content type='text'>
Coverage marker statements should have no effect on codegen, but in some cases
they could have the side-effect of creating a `func_coverage` entry for their
enclosing function. That can lead to an ICE for functions that don't actually
have any coverage spans.
</content>
</entry>
<entry>
<title>rustc_codegen_llvm: Enforce `rustc::potential_query_instability` lint</title>
<updated>2023-12-12T12:16:14+00:00</updated>
<author>
<name>Martin Nordholts</name>
<email>martin.nordholts@codetale.se</email>
</author>
<published>2023-12-12T12:14:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f44ccbab2bbdc538b739d6a1f5f9fbdb8339f8f8'/>
<id>urn:sha1:f44ccbab2bbdc538b739d6a1f5f9fbdb8339f8f8</id>
<content type='text'>
Stop allowing `rustc::potential_query_instability` on all of
`rustc_codegen_llvm` and instead allow it on a case-by-case basis. In
this case, both instances are safe to allow.
</content>
</entry>
<entry>
<title>coverage: Add `CoverageKind::SpanMarker` for including extra spans in MIR</title>
<updated>2023-12-08T11:40:49+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-11-23T00:50:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=44b47aa976d6a6bdd7eb1f99a8ee5270afbe993e'/>
<id>urn:sha1:44b47aa976d6a6bdd7eb1f99a8ee5270afbe993e</id>
<content type='text'>
There are cases where coverage instrumentation wants to show a span for some
syntax element, but there is no MIR node that naturally carries that span, so
the instrumentor can't see it.

MIR building can now use this new kind of coverage statement to deliberately
include those spans in MIR, attached to a dummy statement that has no other
effect.
</content>
</entry>
<entry>
<title>merge `DefKind::Coroutine` into `DefKind::Closure`</title>
<updated>2023-11-26T13:05:08+00:00</updated>
<author>
<name>bohan</name>
<email>bohan-zhang@foxmail.com</email>
</author>
<published>2023-11-26T13:05:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f23befe6c118573a2ca041bc89f959a8813b43a2'/>
<id>urn:sha1:f23befe6c118573a2ca041bc89f959a8813b43a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace `custom_encodable` with `encodable`.</title>
<updated>2023-11-22T07:37:14+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2023-11-21T05:35:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3ef9d4d0ed608b0493d66ffe8af2755529ce474c'/>
<id>urn:sha1:3ef9d4d0ed608b0493d66ffe8af2755529ce474c</id>
<content type='text'>
By default, `newtype_index!` types get a default `Encodable`/`Decodable`
impl. You can opt out of this with `custom_encodable`. Opting out is the
opposite to how Rust normally works with autogenerated (derived) impls.

This commit inverts the behaviour, replacing `custom_encodable` with
`encodable` which opts into the default `Encodable`/`Decodable` impl.
Only 23 of the 59 `newtype_index!` occurrences need `encodable`.

Even better, there were eight crates with a dependency on
`rustc_serialize` just from unused default `Encodable`/`Decodable`
impls. This commit removes that dependency from those eight crates.
</content>
</entry>
<entry>
<title>Fix `clippy::needless_borrow` in the compiler</title>
<updated>2023-11-21T19:13:40+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2023-11-21T19:07:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21a870515b18e5b2b90435d0f1a6d3089b5217ae'/>
<id>urn:sha1:21a870515b18e5b2b90435d0f1a6d3089b5217ae</id>
<content type='text'>
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.

Then I had to remove a few unnecessary parens and muts that were exposed
now.
</content>
</entry>
<entry>
<title>coverage: Consistently remove unused counter IDs from expressions/mappings</title>
<updated>2023-10-27T22:33:48+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2023-10-24T11:48:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=230dd5b8c71c1d176a6705bb458a473411788f68'/>
<id>urn:sha1:230dd5b8c71c1d176a6705bb458a473411788f68</id>
<content type='text'>
</content>
</entry>
</feed>
