<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_ast_passes/src, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-27T09:29:49+00:00</updated>
<entry>
<title>Improve code and better check `doc(cfg(...))` attributes</title>
<updated>2025-09-27T09:29:49+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-05-29T16:39:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=553308b11503eafac6341b82f345bd62b09ba317'/>
<id>urn:sha1:553308b11503eafac6341b82f345bd62b09ba317</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Put back the `doc_cfg` code behind a nightly feature</title>
<updated>2025-09-27T09:29:49+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-04-11T12:32:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c06a076634e4feab47e133fe6325af9659bab082'/>
<id>urn:sha1:c06a076634e4feab47e133fe6325af9659bab082</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement RFC 3631</title>
<updated>2025-09-27T09:29:48+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-03-28T23:53:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7c00bccd3b3eb6717e3c801123107962e671e48f'/>
<id>urn:sha1:7c00bccd3b3eb6717e3c801123107962e671e48f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #146434 - folkertdev:c-variadic-inherent-methods, r=workingjubilee</title>
<updated>2025-09-18T15:20:56+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-09-18T15:20:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=185926c99f34985f1823b1f085ef6f446a5ee4f3'/>
<id>urn:sha1:185926c99f34985f1823b1f085ef6f446a5ee4f3</id>
<content type='text'>
c-variadic: allow c-variadic inherent and trait methods

tracking issue: https://github.com/rust-lang/rust/issues/44930

Continuing the work of https://github.com/rust-lang/rust/pull/146342, allow inherent and trait methods to be c-variadic. However, a trait that contains a c-variadic method is no longer dyn-compatible.

There is, presumably, some way to make c-variadic methods dyn-compatible. However currently, we don't have confidence that it'll work reliably: when methods from a `dyn` object are cast to a function pointer, a `ReifyShim` is created. If that shim is c-variadic, it would need to forward the C variable argument list.

That does appear to work, because the `va_list` is not represented in MIR at all in this case, so the registers from the call site are untouched by the shim and can be read by the actual implementation. That just does not seem like a solid implementation.

Also, intuitively, why would c-variadic function, primarily needed for FFI, need to be used with `dyn` objects at all? We can revisit this limitation if a need arises.

r? `@workingjubilee`
</content>
</entry>
<entry>
<title>Move more early buffered lints to dyn lint diagnostics (2/N)</title>
<updated>2025-09-14T10:38:11+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-08-27T12:11:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=31c0d96cb604ead17afeb09062d10cc019de9560'/>
<id>urn:sha1:31c0d96cb604ead17afeb09062d10cc019de9560</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c-variadic: allow trait methods to be c-variadic</title>
<updated>2025-09-11T08:27:28+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-09-10T15:53:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=01e83adc88653123fee444fdb930c16dd08da82d'/>
<id>urn:sha1:01e83adc88653123fee444fdb930c16dd08da82d</id>
<content type='text'>
but a C-variadic method makes a trait dyn-incompatible. That is because
methods from dyn traits, when cast to a function pointer, create a shim.
That shim can't really forward the c-variadic arguments.
</content>
</entry>
<entry>
<title>c-variadic: allow inherent methods to be c-variadic</title>
<updated>2025-09-11T08:18:48+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-09-09T22:17:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fd48528d185f59f60e301bce1e01d670ff4bdb30'/>
<id>urn:sha1:fd48528d185f59f60e301bce1e01d670ff4bdb30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c-variadic: reject functions with unsupported extern ABI</title>
<updated>2025-09-09T19:38:38+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-09-08T17:27:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9196844f0d86242ee3d6a446fe681b6b2d2d674c'/>
<id>urn:sha1:9196844f0d86242ee3d6a446fe681b6b2d2d674c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>c-variadic: reject non-unsafe functions</title>
<updated>2025-09-09T19:30:38+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-09-08T16:45:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0c96200f268df10d4f3ac102f3161c67e5e67221'/>
<id>urn:sha1:0c96200f268df10d4f3ac102f3161c67e5e67221</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor how to get the span of a function header</title>
<updated>2025-09-08T17:18:22+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-07-07T09:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5de9bc73e76f60ee27c37f20d0a9530e5a957df7'/>
<id>urn:sha1:5de9bc73e76f60ee27c37f20d0a9530e5a957df7</id>
<content type='text'>
</content>
</entry>
</feed>
