gccrs
gccrs copied to clipboard
GCC Front-End for Rust
https://godbolt.org/z/3bxKGWver ### Code ```rust union MyUnion { f1: u32, } fn f(u: MyUnion) -> i32 { unsafe { match u { MyUnion { f1: 10 } => { 0 }...
This already was mentioned a while ago in "Re: ☠ Buildbot (Sourceware): gccrust - failed compile (failure) (master)", but as of the 2024-08-01 push of GCC/Rust changes to GCC upstream...
### Summary gccrs lets you assign structs to variables, when rustc emits "expected value, found struct ..." ### Reproducer I tried this code: ```rust struct A { a: u32, }...
### Summary From Jun 5th, [badumbatish](https://gcc-rust.zulipchat.com/#narrow/stream/327528-GSoC/topic/Inline.20Assembly.20Support/near/442814292): > does parsing expression in parser.parse_expr() act the same as parsing outside? I called parse_expr (with no arguments) with current token of the first...
We cannot check proc macro entirely for now but there are a few things we could check: - [x] proc_macro and derive declarations are not used within a regular context...
Later we'll need to mention where could people find this tool. _Originally posted by @P-E-P in https://github.com/Rust-GCC/gccrs/pull/3080#discussion_r1691088628_ Ref: https://github.com/Rust-GCC/rusttest-to-dg
as found by @liamnaddell in #1085 ```rust #![feature(rustc_attrs)] #[rustc_builtin_macro] macro_rules! include_str { () => {{}}; } #[rustc_builtin_macro] macro_rules! file { () => {{}}; } fn main() { let _ =...
## ICE in retrieving ambiguous associated type - [`E0223` ](https://doc.rust-lang.org/error_codes/E0223.html#error-code-e0223) - You can view the same on [`compiler-explorer`](https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DEArgoKkl9ZATwDKjdAGFUtEywYgATKUcAZPAZMADl3ACNMYhAADlIAB1QFQjsGFzcPb3jE5IEAoNCWCKjYq0wbFKECJmICNPdPH1LygUrqgjyQ8MiYyyqauozGvvbAzsLu6IBKS1QTYmR2DgBSLwBmMDAlgFYAITFaVAB3CBMGM0x0Se2AESWNAEEqBgBqFiZAiEnnpYB2Hbv7gRiO8CM8ABKYWgHb5/AHPeHPAgATzimGeAHUEKglqt/g84Qins8EJCDp9ngBaHHYb6rJx4VZeakgEAATVmOJ2zwA9NznpFiCQNgDfrd8T9rhxprROFteJ5uLxUJwAEpmUEKWbzNErVY8UgETRS6YAawk0QAdD8fhoAGxbLhrDQaACceq2sRlHEk8qNpGVHF4ChAGgNRumcFgMEQKFQLDidEi5EoaHjiaiwGQyGICgpCmYcQUWIsNFoBEiwYgYT9YUC1SRnH1teYxCRAHkwtoyobFaRU2xBG2GLQGxwtKQsGETMAnPtg72sG8jOIx7x8MRu3gAG6YefjzCqMomcuN3iBcte8e0PBhYGtlxYP1AvAsU%2BkHfEMKJTDXTBL4DXkY4Z8AYwAKAAangmCHG2qIKvq/CCCIYjsFIMiCIoKjqKupC6Fw%2BiGMY6r6DewaQNMqBxLYAjzkqH7EHgWBkVAzBsCAFw5Aw75iCYixeBoXg8JM0xNNRngQI4AyePh/ijAURR6AkSRiVJinZGJHTyd0%2BGiRUwyqTpkKbi0wyaV0UQ6fprj1Ho5htGZ4wWSJWoLBI0qyr6OEBs8qjRLaFK2pIzwAOJOE4KpCM8ECheFkVvOYkRfBAuCECQ3xrFwky8D2WjCaQZpbKGXo%2BqQr6SC6FrRFstqCVwtqrLaGhVS6tqkAq44BkGIZhquEbRhASCzAQcTHsmECpgm9DEMErCLKY5jIM8XAWralr7vgRAMegeiIcIojiGhu2YWofp4aQhzAnEp7uRwcptX6AZtseI2gqgVA%2BX5AVBTFEVRT9cVMAlxBJS4aZTelepZT1uU3SVr6FRaUirD80TRA1qwulIGjSO1SqcF1oY5ca%2BXeD8lWY41Ug/FsNpcNEGhbPonCrJ5HX49DUqkJGUD9UgE3pmN/NTSAxBSC6oaluWOaUNWOHNvWb7y62HZdjYb79owBBDiOfqTtOs5QvO%2BqLoRK7juum47nuvAHkeJ69uekJ%2Btet71g%2Bizjs%2Br69h%2BX5KL%2B/6AaAvUgUwYGQdBsGMG%2Bu3IQd0hHUoJ04boPgGEB80WC7zEUVRKTzhSFLZkw5YUsiqI4tczZ0QKjG7vAIlGc04mSdZGQyQw6AOQp%2BFKZxBlZMpKTd9plhN2JrT9G30lj9YE%2BmXJ5m2VZ6Qz3ZNQj05MxzK5mVM7drN4xwzyZ4ty3lRaGhRSlm0Q5l2XhtMJJMFgUSfCTXDOvvcMgIV91eezYMhNgLcwGiAIaL1BZxkmpEGabEOC%2BX8oFEKYVfrRVQQDIGUMOKbUYjtWQcdUIJ1kMdbC45U7nUutdfed1cb%2Bk4E9Yax5nhvRPuqM%2BFoL5XwgKDGBxAIZeChkTPKz9X6UFNBIL%2BxVeDw1DHQzqlhurCIkWsK0boUY2i8F4F0WwtGtS9Czf%2BbNAwcz6vAUBfNoECwoONKxwtRY/HFnwOgUtKyy3HErUcTY6zK07N2dWcYBxa2HKOc2mApwzjnG%2BE2y4PZrjwBucoVs/S22QMeRY%2BpHaXl4C7O8SJ3ZPgYt7fUvtvwB1NoEYOuVQ7hygjBOCMcCH7SIeheQScyE6BAKsAiGdiLZwbv6PONF2aoHonXHOs9jIt07gPWS%2BQl693UikAefcNKL0crZceek2gD10iZey6ye69B2dPZeBz5kbL3pqHeqEbq0IepwNhC0lpqMvtfDaaVdT31MU/TAL9ujvzNF4SQFothbEkBjBm9VqqSGiC6T0nAf5/3kYApRIDebgOeqNGxQtYGzU4KfF5XCbYfK2vgpCzSJDEIwu006XTKFMCuoqO5h96EcEYS9Fh71CXLUcW8nhdjIgQ1WEIx%2BpBREAthjI3%2BciHkmKAT8km2jQUQpagJH4jpdHRHwgY1lCjlH7y8Hq9mBqPxJHsJIIAA%3D%3D) - Previous Work https://github.com/Rust-GCC/gccrs/issues/843 --- ### Code ```rust #![allow(unused)] fn main() {...
This PR tweaks `cfg1.rs` so that it passes with name resolution 2.0. As an alternative we could modify the error message emitted by name resolution 2.0 to match that emitted...