<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/core/src/char/methods.rs, branch auto</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=auto</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=auto'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-07T13:21:24+00:00</updated>
<entry>
<title>optimization: Don't include ASCII characters in Unicode tables</title>
<updated>2025-09-07T13:21:24+00:00</updated>
<author>
<name>Karl Meakin</name>
<email>karl.meakin@arm.com</email>
</author>
<published>2025-08-02T22:32:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a8c669461f0c71985c72dd5b05f70b8d4d149e3b'/>
<id>urn:sha1:a8c669461f0c71985c72dd5b05f70b8d4d149e3b</id>
<content type='text'>
The ASCII subset of Unicode is fixed and will never change, so we don't
need to generate tables for it with every new Unicode version. This
saves a few bytes of static data and speeds up `char::is_control` and
`char::is_grapheme_extended` on ASCII inputs.

Since the table lookup functions exported from the `unicode` module will
give nonsensical errors on ASCII input (and in fact will panic in debug
mode), I had to add some private wrapper methods to `char` which check
for ASCII-ness first.
</content>
</entry>
<entry>
<title>Auto merge of #145479 - Kmeakin:km/hardcode-char-is-control, r=joboet</title>
<updated>2025-08-30T14:18:21+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-08-30T14:18:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0f506968010fa987b0d134034d0ccab9eecd9120'/>
<id>urn:sha1:0f506968010fa987b0d134034d0ccab9eecd9120</id>
<content type='text'>
Hard-code `char::is_control`

Split off from https://github.com/rust-lang/rust/pull/145219

According to
https://www.unicode.org/policies/stability_policy.html#Property_Value, the set of codepoints in `Cc` will never change. So we can hard-code the patterns to match against instead of using a table.

This doesn't change the generated assembly, since the lookup table is small enough that[ LLVM is able to inline the whole search](https://godbolt.org/z/bG8dM37YG). But this does reduce the chance of regressions if LLVM's heuristics change in the future, and means less generated Rust code checked in to `unicode-data.rs`.
</content>
</entry>
<entry>
<title>Optimize `char::encode_utf8`</title>
<updated>2025-08-17T00:22:48+00:00</updated>
<author>
<name>Karl Meakin</name>
<email>karl.meakin@arm.com</email>
</author>
<published>2025-08-16T22:45:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c9ce45cb1e11408c2f0c7cdc89f22bf54406eb20'/>
<id>urn:sha1:c9ce45cb1e11408c2f0c7cdc89f22bf54406eb20</id>
<content type='text'>
Save a few instructions in `encode_utf8_raw_unchecked` by performing
manual CSE.
</content>
</entry>
<entry>
<title>refactor: Hard-code `char::is_control`</title>
<updated>2025-08-16T00:46:30+00:00</updated>
<author>
<name>Karl Meakin</name>
<email>karl.meakin@arm.com</email>
</author>
<published>2025-08-11T00:57:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1bb9b151c9f9b5116254827f04add845aff33408'/>
<id>urn:sha1:1bb9b151c9f9b5116254827f04add845aff33408</id>
<content type='text'>
According to
https://www.unicode.org/policies/stability_policy.html#Property_Value,
the set of codepoints in `Cc` will never change. So we can hard-code
the patterns to match against instead of using a table.
</content>
</entry>
<entry>
<title>Optimize `char::is_alphanumeric`</title>
<updated>2025-08-06T23:08:11+00:00</updated>
<author>
<name>Karl Meakin</name>
<email>karl.meakin@arm.com</email>
</author>
<published>2025-08-06T23:05:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bf5020937f17fd4c2f8ae5e7703fd9b8d15f0502'/>
<id>urn:sha1:bf5020937f17fd4c2f8ae5e7703fd9b8d15f0502</id>
<content type='text'>
Avoid an unnecessary call to `unicode::Alphabetic` when `self` is an
ASCII digit (ie `0..=9`).
</content>
</entry>
<entry>
<title>Add diagnostic items for Clippy</title>
<updated>2025-06-20T15:53:09+00:00</updated>
<author>
<name>Samuel Tardieu</name>
<email>sam@rfc1149.net</email>
</author>
<published>2025-06-20T10:25:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6a9f223f0030729560fd60fbd112e3e6e81ae2a9'/>
<id>urn:sha1:6a9f223f0030729560fd60fbd112e3e6e81ae2a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add assert_unsafe_precondition!()s to as_ascii_unchecked() methods</title>
<updated>2025-05-16T12:54:02+00:00</updated>
<author>
<name>sam skeoch</name>
<email>djscythe@noreply.codeberg.org</email>
</author>
<published>2025-05-13T13:55:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=101e24a223f818e17d2c68298d48d4e6008c02aa'/>
<id>urn:sha1:101e24a223f818e17d2c68298d48d4e6008c02aa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add as_ascii_unchecked() methods to char, str, and u8</title>
<updated>2025-05-16T12:53:32+00:00</updated>
<author>
<name>sam skeoch</name>
<email>djscythe@noreply.codeberg.org</email>
</author>
<published>2025-02-22T17:22:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7d9f437f993e213c1f9aeb9c07454f6fd1648821'/>
<id>urn:sha1:7d9f437f993e213c1f9aeb9c07454f6fd1648821</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #139279 - BoxyUwU:bump-boostrap, r=jieyouxu</title>
<updated>2025-04-10T00:43:25+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-04-10T00:43:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6813f955a616999109ff69c48bbad6be33c6cdb3'/>
<id>urn:sha1:6813f955a616999109ff69c48bbad6be33c6cdb3</id>
<content type='text'>
Bump boostrap compiler to new beta

try-job: `*msvc*`
</content>
</entry>
<entry>
<title>replace version placeholder</title>
<updated>2025-04-09T11:29:59+00:00</updated>
<author>
<name>Boxy</name>
<email>rust@boxyuwu.dev</email>
</author>
<published>2025-03-31T17:09:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a6c2ec04b456d600b42b0c7286af38044f19a9a6'/>
<id>urn:sha1:a6c2ec04b456d600b42b0c7286af38044f19a9a6</id>
<content type='text'>
</content>
</entry>
</feed>
