<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/ui/proc-macro, 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-07-16T05:28:17+00:00</updated>
<entry>
<title>resolve: Merge `NameBindingKind::Module` into `NameBindingKind::Res`</title>
<updated>2025-07-16T05:28:17+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-07-04T19:21:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=babe2c0d0f091f5ea9935176b478ea45b152e49e'/>
<id>urn:sha1:babe2c0d0f091f5ea9935176b478ea45b152e49e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #141996 - Daniel-Aaron-Bloom:dollar_crate, r=petrochenkov</title>
<updated>2025-07-10T07:23:52+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-07-10T07:23:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=73d3adc67b700ab3a41c72791f0ca5cbaef51425'/>
<id>urn:sha1:73d3adc67b700ab3a41c72791f0ca5cbaef51425</id>
<content type='text'>
Fix `proc_macro::Ident`'s handling of `$crate`

This PR is addresses a few minor bugs, all relating to `proc_macro::Ident`'s support for `$crate`. `Ident` currently supports `$crate` (as can be seen in the `mixed-site-span` test), but:
* `proc_macro::Symbol::can_be_raw` is out of sync with `rustc_span::Symbol::can_be_raw`
  * former doesn't cover `$crate` while the latter does cover `kw::DollarCrate`
* `Ident::new` rejects `$crate`
  * This conflicts with the [reference definition](https://doc.rust-lang.org/nightly/reference/macros-by-example.html#r-macro.decl.meta.specifier) of `ident` which includes `$crate`.
  * This also conflicts with the documentation on [`Display for Ident`](https://doc.rust-lang.org/proc_macro/struct.Ident.html#impl-Display-for-Ident) which says the output "should be losslessly convertible back into the same identifier".

This PR fixes the above issues and extends the `mixed-site-span` test to exercise these fixed code paths, as well as validating the different possible spans resolve `$crate`  as expected (for both the new and old `$crate` construction code paths).
</content>
</entry>
<entry>
<title>Add support for repetition to `proc_macro::quote`</title>
<updated>2025-06-16T16:36:54+00:00</updated>
<author>
<name>Tomoaki Kobayashi</name>
<email>tomoaki.kobayashi.t3@alumni.tohoku.ac.jp</email>
</author>
<published>2025-05-26T17:30:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=23e35c6bd371485eff7c5f58cb59ee28da59ba62'/>
<id>urn:sha1:23e35c6bd371485eff7c5f58cb59ee28da59ba62</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Detect when attribute is provided by missing `derive` macro</title>
<updated>2025-06-12T21:28:49+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-12-28T02:19:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=92a798dac0e2e13380d053b532ef36f1eddf9acf'/>
<id>urn:sha1:92a798dac0e2e13380d053b532ef36f1eddf9acf</id>
<content type='text'>
```
error: cannot find attribute `empty_helper` in this scope
  --&gt; $DIR/derive-helper-legacy-limits.rs:17:3
   |
LL | #[empty_helper]
   |   ^^^^^^^^^^^^
   |
help: `empty_helper` is an attribute that can be used by the derive macro `Empty`, you might be missing a `derive` attribute
   |
LL + #[derive(Empty)]
LL | struct S2;
   |
```

Look at proc-macro attributes when encountering unknown attribute

```
error: cannot find attribute `sede` in this scope
  --&gt; src/main.rs:18:7
   |
18 |     #[sede(untagged)]
   |       ^^^^
   |
help: the derive macros `Serialize` and `Deserialize` accept the similarly named `serde` attribute
   |
18 |     #[serde(untagged)]
   |       ~~~~~

error: cannot find attribute `serde` in this scope
  --&gt; src/main.rs:12:7
   |
12 |     #[serde(untagged)]
   |       ^^^^^
   |
   = note: `serde` is in scope, but it is a crate, not an attribute
help: `serde` is an attribute that can be used by the derive macros `Serialize` and `Deserialize`, you might be missing a `derive` attribute
   |
10 | #[derive(Serialize, Deserialize)]
   |
```
</content>
</entry>
<entry>
<title>Add support for $crate to Ident</title>
<updated>2025-06-12T08:13:24+00:00</updated>
<author>
<name>Daniel Bloom</name>
<email>daniel@wormholelabs.xyz</email>
</author>
<published>2025-04-14T05:17:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6d1e93d8cdea975303397d91f726c40f5a7396fd'/>
<id>urn:sha1:6d1e93d8cdea975303397d91f726c40f5a7396fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #142033 - matthiaskrgr:rollup-99lvg0j, r=matthiaskrgr</title>
<updated>2025-06-05T00:30:08+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-06-05T00:30:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81a964c23ea4fe9ab52b4449bb166bf280035797'/>
<id>urn:sha1:81a964c23ea4fe9ab52b4449bb166bf280035797</id>
<content type='text'>
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#141890 (Add link to correct documentation in htmldocck.py)
 - rust-lang/rust#141932 (Fix for async drop inside async gen fn)
 - rust-lang/rust#141960 (Use non-2015 edition paths in tests that do not test for their resolution)
 - rust-lang/rust#141968 (Run wfcheck in one big loop instead of per module)
 - rust-lang/rust#141969 (Triagebot: Remove `assign.users_on_vacation`)
 - rust-lang/rust#141985 (Ensure query keys are printed with reduced queries)
 - rust-lang/rust#141999 (Visit the ident in `PreciseCapturingNonLifetimeArg`.)
 - rust-lang/rust#142005 (Change `tag_field` to `FieldIdx` in `Variants::Multiple`)
 - rust-lang/rust#142017 (Fix incorrect use of "recommend" over "recommended")
 - rust-lang/rust#142024 (Don't refer to 'this tail expression' in expansion.)
 - rust-lang/rust#142025 (Don't refer to 'local binding' in extern macro.)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Use non-2015 edition paths in tests that do not test for their resolution</title>
<updated>2025-06-03T11:35:31+00:00</updated>
<author>
<name>Lukas Wirth</name>
<email>lukas.wirth@ferrous-systems.com</email>
</author>
<published>2025-06-03T08:03:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eae7fe1bdb5ca2fa3c37c84c5e93d5fb3cbeab8d'/>
<id>urn:sha1:eae7fe1bdb5ca2fa3c37c84c5e93d5fb3cbeab8d</id>
<content type='text'>
This allows for testing these tests on editions other than 2015
</content>
</entry>
<entry>
<title>Add missing 2015 edition directives</title>
<updated>2025-06-03T09:45:58+00:00</updated>
<author>
<name>Lukas Wirth</name>
<email>lukas.wirth@ferrous-systems.com</email>
</author>
<published>2025-06-03T07:54:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=49969468b59287f905a001097de66ff9659b7b79'/>
<id>urn:sha1:49969468b59287f905a001097de66ff9659b7b79</id>
<content type='text'>
These tests specifically test 2015 edition behavior, so ensure that they can only be run with this edition
</content>
</entry>
<entry>
<title>Use `cfg_attr` AST placeholder AST `cfg_attr_trace` for diagnostics</title>
<updated>2025-05-29T10:24:23+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-12-03T21:18:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f80e3ac4ed1e1df2c337cbf7b231cb72ec4e3b7a'/>
<id>urn:sha1:f80e3ac4ed1e1df2c337cbf7b231cb72ec4e3b7a</id>
<content type='text'>
PR 138515, we insert a placeholder attribute so that checks for attributes can still know about the placement of `cfg` attributes. When we suggest removing items with `cfg_attr`s (fix Issue 56328) and make them verbose. We tweak the wording of the existing "unused `extern crate`" lint.

```
warning: unused extern crate
  --&gt; $DIR/removing-extern-crate.rs:9:1
   |
LL | extern crate removing_extern_crate as foo;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unused
   |
note: the lint level is defined here
  --&gt; $DIR/removing-extern-crate.rs:6:9
   |
LL | #![warn(rust_2018_idioms)]
   |         ^^^^^^^^^^^^^^^^
   = note: `#[warn(unused_extern_crates)]` implied by `#[warn(rust_2018_idioms)]`
help: remove the unused `extern crate`
   |
LL - #[cfg_attr(test, macro_use)]
LL - extern crate removing_extern_crate as foo;
LL +
   |
```
</content>
</entry>
<entry>
<title>Merge typeck loop with static/const item eval loop</title>
<updated>2025-05-09T15:31:27+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-05-09T15:16:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0b6e493515d92d4b269eb07c05bf706b64fa5db8'/>
<id>urn:sha1:0b6e493515d92d4b269eb07c05bf706b64fa5db8</id>
<content type='text'>
</content>
</entry>
</feed>
