diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-01-18 22:00:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-18 22:00:43 +0100 |
| commit | f372476d2cd19fbd4baff24e767f5ee3d8264b49 (patch) | |
| tree | aec2a7192a1ce7d5630ddfb9d2a6b574ebc1d310 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | dd621a4c5cd967815cdf5ffcbe598a6fd9a3b839 (diff) | |
| parent | 87a7defa8e08c971a30b152509c6c1ab9f718092 (diff) | |
| download | rust-f372476d2cd19fbd4baff24e767f5ee3d8264b49.tar.gz rust-f372476d2cd19fbd4baff24e767f5ee3d8264b49.zip | |
Rollup merge of #91150 - dtolnay:qpath, r=davidtwco
Let qpath contain NtTy: `<$:ty as $:ty>::…`
Example:
```rust
macro_rules! m {
(<$type:ty as $trait:ty>::$name:ident) => {
<$type as $trait>::$name
};
}
fn main() {
let _: m!(<str as ToOwned>::Owned);
}
```
Previous behavior:
```console
error: expected identifier, found `ToOwned`
--> src/main.rs:3:19
|
3 | <$type as $trait>::$name
| ^^^^^^ expected identifier
...
8 | let _: m!(<str as ToOwned>::Owned);
| ---------------------------
| |
| this macro call doesn't expand to a type
| in this macro invocation
```
The <code>expected identifier, found \`ToOwned\`</code> error is particularly silly. I think it should be fine to accept this code as long as $trait is of the form `TyKind::Path(None, path)`; if it is any other kind of `NtTy`, we'll keep the same behavior as before.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
