gccrs
gccrs copied to clipboard
GCC Front-End for Rust
Per the documentation on const generics: > The only allowed types of const parameters are u8, u16, u32, u64, u128, usize i8, i16, i32, i64, i128, isize, char and bool....
_Originally posted by @liushuyu in https://github.com/Rust-GCC/gccrs/pull/1298#discussion_r890726719_
[playground link](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=struct%20Bidule%3Cconst%20N%3A%20i32%20%3D%20-15%3E%20%7B%0A%20%20%20%20%0A%7D%0A%0Afn%20const_default%3Cconst%20N%3A%20i32%20%3D%20-15%3E()%20%7B%0A%7D)
> When there is ambiguity if a generic argument could be resolved as either a type or const argument, it is always resolved as a type. [reference link](https://doc.rust-lang.org/reference/items/generics.html)
Multiline strings are allowed in Rust ([playground link](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=fn%20main()%20%7B%0A%20%20%20%20let%20a%20%3D%20%22whaaaaaat%20up%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20who%20knows!%22%3B%0A%7D)), however we currently do not handle them correctly: ```rust test.rs:2:26: error: unended string literal 2 | let a = "whaaaaaat up |...
Something we might start to think about doing is for every error diagnostic have some kind of class for them all, so we can enforce good error messages so for...
- [ ] Fix locus of simple attributes ```rust #[doc] // { dg-error "...doc.. cannot be an empty attribute" } struct Foo; ``` - [ ] Handle LITERAL and META_ITEM...
- [x] Dereferencing raw pointers #1410 - [x] Calls to unsafe functions #1427 - [x] #1569 - [x] Use of mutable static #1417 - [x] Use of extern static #1417...
I tried this code: ```rust // { dg-output "1\n2\nNaN\n3\n" } macro_rules! print_num { ($l:literal) => { unsafe { printf("%d\n\0" as *const str as *const i8, $l); } }; } extern...