-
Notifications
You must be signed in to change notification settings - Fork 170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Builtin macros #927
Comments
There seems to be a push to destabilize them in rustc. Skipping them in gccrs should be fine I think.
This is not a macro, but the module implementing
This is the module containing all builtin
This module is for the proc macro implementation.
Haven't checked, but also likely not a macro. There are a couple other items on the list that I don't think are actual macros. |
1043: implement include_bytes! and include_str! macros r=CohenArthur a=dafaust Implement the include_bytes! and include_str! builtin macros. Addresses: #927 Co-authored-by: David Faust <[email protected]>
1043: implement include_bytes! and include_str! macros r=CohenArthur a=dafaust Implement the include_bytes! and include_str! builtin macros. Addresses: #927 1064: Handle :tt fragments properly r=CohenArthur a=CohenArthur :tt fragments stand for token trees, and are composed of either a token, or a delimited token tree, which is a token tree surrounded by delimiters (parentheses, curly brackets or square brackets). This should allow us to handle a lot more macros, including extremely powerful macro patterns such as TT munchers Co-authored-by: David Faust <[email protected]> Co-authored-by: Arthur Cohen <[email protected]>
addresses Rust-GCC#927 Signed-off-by: Zixing Liu <[email protected]>
addresses Rust-GCC#927 Signed-off-by: Zixing Liu <[email protected]>
This table probably needs an update. Since the last update of this issue, the following macros have been implemented:
Most remainders require the |
Yeah, |
It also prevents most of the "real world projects" (I would guess >95%) from compiling if it is unimplemented.
I would consider the difficulty extremely hard at the moment. Also, another potentially problematic macro would be |
I think |
Edited to reflect which macros we really need to focus on for libcore 1.49 |
@CohenArthur option_env is done :)))) |
Bang macros
asm!
macro #1566assert!()
macro #1998Attribute macros
Derive macros
Directly taken from https://github.com/rust-lang/rust/blob/a240ccd81c74c105b6f5fe84c46f8d36edb7e306/compiler/rustc_builtin_macros/src/lib.rs#L52-L119
Thanks a lot to @bjorn3 for the corrections
Builtin macros which are declared and/or used in libcore 1.49:
The text was updated successfully, but these errors were encountered: