Hi everyone, This is our first upstream of 2024. It includes commits up to the 25th of January, including fixes for some of the issues reported after our previous patchset.
The fixes for little-endian platforms have yet to land as we are investigating a weird scan-assembler regression on our OSX CI. Best, Arthur [COMMITTED 001/101] gccrs: Add visibility to trait item [COMMITTED 002/101] gccrs: Add a test to highlight public trait type [COMMITTED 003/101] gccrs: Fix error emission for self pointers [COMMITTED 004/101] gccrs: Report self parameter parsing error kind [COMMITTED 005/101] gccrs: Add new test for parsing errors on self [COMMITTED 006/101] gccrs: ast: Change *Path nodes API [COMMITTED 007/101] gccrs: rib: Add Namespace enum [COMMITTED 008/101] gccrs: forever-stack: Fix basic get logic [COMMITTED 009/101] gccrs: foreverstack: Specialize `get` for [COMMITTED 010/101] gccrs: forever stack: Fix resolve_path signature [COMMITTED 011/101] gccrs: forever stack: Improve resolve_path [COMMITTED 012/101] gccrs: foreverstack: Add `to_canonical_path` [COMMITTED 013/101] gccrs: foreverstack: Add `to_rib` method [COMMITTED 014/101] gccrs: resolve: Format if properly [COMMITTED 015/101] gccrs: forever stack: Remove development debug [COMMITTED 016/101] gccrs: Reject auto traits with generic parameters [COMMITTED 017/101] gccrs: Add regression test for generic auto [COMMITTED 018/101] gccrs: Reject auto traits with super trait [COMMITTED 019/101] gccrs: Add a regression test for super trait on [COMMITTED 020/101] gccrs: Add check for associated items on auto [COMMITTED 021/101] gccrs: Emit an error on variadic non extern [COMMITTED 022/101] gccrs: Add a test regular variadic functions [COMMITTED 023/101] gccrs: Add ast validation check on union variant [COMMITTED 024/101] gccrs: Replace TOK suffix with KW [COMMITTED 025/101] gccrs: Add edition separation for keywords [COMMITTED 026/101] gccrs: Treat underscore as a keyword [COMMITTED 027/101] gccrs: Add await keyword [COMMITTED 028/101] gccrs: Replace some keyword raw values [COMMITTED 029/101] gccrs: Add a list of weak keyword [COMMITTED 030/101] gccrs: Replace some weak keyword raw value with [COMMITTED 031/101] gccrs: Introduce a proper keyword list [COMMITTED 032/101] gccrs: Added support to Parse ASYNC function [COMMITTED 033/101] gccrs: ctx: Add Labels ForeverStack to the [COMMITTED 034/101] gccrs: nr2.0: Add base for late name resolution [COMMITTED 035/101] gccrs: toplevel: Use DefaultResolver for Function [COMMITTED 036/101] gccrs: nr2.0: Store mappings in [COMMITTED 037/101] gccrs: late: Start setting up builtin types [COMMITTED 038/101] gccrs: late: Start storing mappings properly in [COMMITTED 039/101] gccrs: early: Resolve paths properly [COMMITTED 040/101] gccrs: toplevel: Add comment about running the [COMMITTED 041/101] gccrs: ast: Add NodeId to UseTree base class [COMMITTED 042/101] gccrs: early: Move `use` declaration resolving to [COMMITTED 043/101] gccrs: toplevel: Resolve `use` declarations [COMMITTED 044/101] gccrs: Create base class for TupleStructItems and [COMMITTED 045/101] gccrs: Add unsafety member to modules [COMMITTED 046/101] gccrs: Parse module safety [COMMITTED 047/101] gccrs: Emit an error on unsafe modules [COMMITTED 048/101] gccrs: Add a regression test for unsafe module [COMMITTED 049/101] gccrs: Remove backend dependancy on resolution [COMMITTED 050/101] gccrs: Remove class AST::InherentImplItem [COMMITTED 051/101] gccrs: Split async and const function qualifiers [COMMITTED 052/101] gccrs: Allow const and async specifiers in [COMMITTED 053/101] gccrs: Add async const function ast validation [COMMITTED 054/101] gccrs: Add a regression test for async const [COMMITTED 055/101] gccrs: Add AST validation check for const in [COMMITTED 056/101] gccrs: Add regression test for const fn in trait [COMMITTED 057/101] gccrs: Make feature gate visitor inherit from [COMMITTED 058/101] gccrs: Change the attribute checker visitor to [COMMITTED 059/101] gccrs: Make early name resolver inherit from [COMMITTED 060/101] gccrs: Add multiple regression test in name [COMMITTED 061/101] gccrs: Add execution test for name resolution 2.0 [COMMITTED 062/101] gccrs: Make function bodies truly optional [COMMITTED 063/101] gccrs: Add validation for functions without body [COMMITTED 064/101] gccrs: Add a regression test for function body [COMMITTED 065/101] gccrs: Generate error for const trait functions [COMMITTED 066/101] gccrs: Renamed `WIN64` to `WIN_64` [COMMITTED 067/101] gccrs: Allow enabling lang_items and no_core [COMMITTED 068/101] gccrs: Make default resolver inherit from default [COMMITTED 069/101] gccrs: Make expand visitor inherit from default [COMMITTED 070/101] gccrs: Change cfg stripper to use default visitor [COMMITTED 071/101] gccrs: refactor builtins initialization and [COMMITTED 072/101] gccrs: HIR: add missing getters [COMMITTED 073/101] gccrs: TyTy: Fix missed nodiscard [COMMITTED 074/101] gccrs: BIR: Fix missed nodiscard [COMMITTED 075/101] gccrs: TyTy: refactor to new API [COMMITTED 076/101] gccrs: TyTy: Common interface for fucntion-like [COMMITTED 077/101] gccrs: TyTy: SubstitutionRef cast specialization [COMMITTED 078/101] gccrs: BIR: Cleanup [COMMITTED 079/101] gccrs: split rust-mangle.cc into two files [COMMITTED 080/101] gccrs: Handle `async` qualifier inside trait [COMMITTED 081/101] gccrs: Generate error for `async` trait fucntions [COMMITTED 082/101] gccrs: ast: Fix lifetime type parsing [COMMITTED 083/101] gccrs: ast: Unify explicitly and implicitly [COMMITTED 084/101] gccrs: ast: Full lifetime elision handling [COMMITTED 085/101] gccrs: ast: Infer static lifetime for const and [COMMITTED 086/101] gccrs: ast: Lower 'for' lifetimes [COMMITTED 087/101] gccrs: TyTy: Refactor FnType deprecated API [COMMITTED 088/101] gccrs: Handle newlines during string parsing [COMMITTED 089/101] gccrs: Handle `async` functions in traits [COMMITTED 090/101] gccrs: Fix inconsistent formatting [COMMITTED 091/101] gccrs: Handle `async` keyword for regular [COMMITTED 092/101] gccrs: Add improved error when a field is [COMMITTED 093/101] gccrs: Unify storage of associated items in [COMMITTED 094/101] gccrs: Added newline to get more readable lexdump [COMMITTED 095/101] gccrs: Test: fix missing lifetime in a test [COMMITTED 096/101] gccrs: AST: Fix for lifetime parsing [COMMITTED 097/101] gccrs: AST: Fix for lifetime lowering [COMMITTED 098/101] gccrs: Test: check implemented for lifetime [COMMITTED 099/101] gccrs: Add improved error when no fields in [COMMITTED 100/101] gccrs: Remove TraitImplItem [COMMITTED 101/101] gccrs: Fix output line ending patterns.