Skip to content

reduce the usage of explicit version markers - #6606

Closed
thestinger wants to merge 1 commit into
rust-lang:incomingfrom
thestinger:vers
Closed

reduce the usage of explicit version markers#6606
thestinger wants to merge 1 commit into
rust-lang:incomingfrom
thestinger:vers

Conversation

@thestinger

Copy link
Copy Markdown
Contributor

I don't see a reason to encode this information in all the extern mod statements, it's not a precise enough version to actually provide any sort of robustness.

bors added a commit that referenced this pull request May 19, 2013
I don't see a reason to encode this information in all the `extern mod` statements, it's not a precise enough version to actually provide any sort of robustness.
@borsbors closed this May 19, 2013
flip1995 pushed a commit to flip1995/rust that referenced this pull request Jan 30, 2021
Add test for `needless_return` lint
Just a follow up of rust-lang#6549 that adds a test for this lint.
changelog: none
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6606: Parse unsafe extern block r=lnicola a=dtolnay
`unsafe extern` block is parsed successfully by rustc, which means it is usable in attribute macro input.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6f805556f176d082d87255957f16b5f6
```rust
#[cfg(parse)]
unsafe extern "C++" {
fn demo();
}
```
```diff
SOURCE_FILE@0..52
- ERROR@0..33
+ EXTERN_BLOCK@0..52
ATTR@0..13
POUND@0..1 "#"
L_BRACK@1..2 "["
PATH@2..5
PATH_SEGMENT@2..5
NAME_REF@2..5
IDENT@2..5 "cfg"
TOKEN_TREE@5..12
L_PAREN@5..6 "("
IDENT@6..11 "parse"
R_PAREN@11..12 ")"
R_BRACK@12..13 "]"
WHITESPACE@13..14 "\n"
UNSAFE_KW@14..20 "unsafe"
WHITESPACE@20..21 " "
ABI@21..33
EXTERN_KW@21..27 "extern"
WHITESPACE@27..28 " "
STRING@28..33 "\"C++\""
- WHITESPACE@33..34 " "
- ERROR@34..52
- L_CURLY@34..35 "{"
- WHITESPACE@35..40 "\n "
- FN@40..50
- FN_KW@40..42 "fn"
- WHITESPACE@42..43 " "
- NAME@43..47
- IDENT@43..47 "demo"
- PARAM_LIST@47..49
- L_PAREN@47..48 "("
- R_PAREN@48..49 ")"
- SEMICOLON@49..50 ";"
- WHITESPACE@50..51 "\n"
- R_CURLY@51..52 "}"
+ WHITESPACE@33..34 " "
+ EXTERN_ITEM_LIST@34..52
+ L_CURLY@34..35 "{"
+ WHITESPACE@35..40 "\n "
+ FN@40..50
+ FN_KW@40..42 "fn"
+ WHITESPACE@42..43 " "
+ NAME@43..47
+ IDENT@43..47 "demo"
+ PARAM_LIST@47..49
+ L_PAREN@47..48 "("
+ R_PAREN@48..49 ")"
+ SEMICOLON@49..50 ";"
+ WHITESPACE@50..51 "\n"
+ R_CURLY@51..52 "}"
```
This is of interest for https://github.com/dtolnay/cxx.
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@thestinger@bors