# GCC Rust Meeting 2023-02-13 * Date/Time: 13th February 2023 at 10h00 UTC * Mailing list: https://gcc.gnu.org/mailman/listinfo/gcc-rust * Zulip: https://gcc-rust.zulipchat.com/ * IRC: irc.oftc.net #gccrust * Video Link: https://meet.jit.si/gccrs-community-call-february ## Agenda - Project Reports - Monthly report - What are we working on - Reviewing and Management - GCC Upstream Merge - GCC Rust github page - Questions ## Project Reports Monthly report: *upcoming* ### What are we working on - Arthur: *upcoming* - Philbert: - TypeBounds error handling - Associated types binding `T: Foo<Output=i32>` - Works but improving type-checks here to ensure that Foo does have Output=i32 - Opaque Types https://rustc-dev-guide.rust-lang.org/opaque-types-type-alias-impl-trait.html - Implementing proper handling for Sized lang-item - Refactoring type-system headers - Code-cleanup lots of good-first-pr issues comming up - Thomas: - Merges (see below). - <https://inbox.sourceware.org/gcc-patches/87h6xv8mnv.fsf@dem-tschwing-1.ger.mentorg.com> "Add '-Wno-complain-wrong-lang', and use it in 'gcc/testsuite/lib/target-supports.exp:check_compile' and elsewhere" - This is to restore GCC/Rust LTO testing. - Anyone else ## Questions Feel free to add questions! ## Reviewing and Management We're now getting a lot more pull-requests to review and it'd be nice to add automation there as well, and figure out a workflow for reviewing. 1. How do we separate the codebase for reviewing? - CodeOwners.txt like llvm? - GitHub [`CODEOWNERS`](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) feature can auto-assign reviewers 2. How much do we separate it? - AST - lexer - parser - Expansion - cfg - macros - Name Resolver - early - late - HIR - HIR lowering - Type resolution - lang-items - Trait resolving - bounds-checking - tyty type's - Code-generation - constexpr - Inrinsics - Lints - unsafe - const - dead-code - privacy - unused-var - feature-gates - GCC Target Hooks - GCC Testsuite - GCC Integration Highlevel seperation * Philip * HIR-related passes * code-generation * Arthur * AST-related passes * intrinsics * lints Thomas - I think "Highlevel seperation" is sufficient at this time instead of detailed per-module separation? Nominations: - [@tschwinge](https://github.com/tschwinge) GCC Testsuite GCC Integration - Thomas - ACK -- though, my response times may be slow, and I'm happy to have another GCC/Rust maintainer preempt me (and we fix up any issues later on). - [@dkm](https://github.com/dkm) GCC Testsuite and GCC Integration - https://github.com/ibuclaw target-hooks integration Anyone else want to volunteer ### Moving forward I think a Wiki page dedicated to this would be better served than a CodeOwners.txt for now - Thomas - ACK. ### CI and Gcc changelogs - We need more CI! More bootstraps and more builds and more checks for each commit in a pull-request. - Thomas - Yes, generally, but also let's not overdo it. Someone has to pay for all the CI. ("Pay" as in money, but also as in environment.) - We need scripts for Changelogs and to add `git gcc-commit-mklog` without all the superfluous things. ## Bors Future - Bors does not provide a mechanism to do rebase - This is making it too difficult to manage patches - GitHub merge queue? - https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue ### Vote Philip - I think its time to get rid of Bors and move to a merge queue. Arthur - with rebases, but seconded :) Marc/dkm - same. We have seen how painful the bors merge are when it comes to rebasing onto gcc master. merge queues + rebase strategy should really make things easier. Thomas - What are the problems with bors (I don't think I've observed any?) -- but then, I don't care too much about which to use. (..., though I generally do prefer Git merges over rebase, to not rewrite Git history -- but then, I don't care too much about that, either.) ;-) Philipp K. - If history doesn't matter, there is also the [`squash_and_merge` ](https://bors.tech/rfcs/0349-use-a-squash-merge-in-bors.html) feature in bors that could help with that. But then again, I'd also be interested how GH merge queues will work out - I never saw a repo using them. // anyone else? ## GCC Upstream Merge State of GCC upstream code base? Merging upstream back to github? - Thomas -- working on it; almost there. See <https://github.com/Rust-GCC/gccrs/pull/1847> "Merge upstream, last commit before 2023-01-31 GCC/Rust upstreaming". Scripting? - Thomas -- if that means to auto-push things into GCC upstream master branch, I vote "no". Let's continue to manually review what we're doing. If that's scripting to auto-generate a upstreaming Git branch on top of upstream GCC master branch, then yes, that may be useful -- if possible to achieve without too much effort? Now that we are enforcing gcc changelogs does this help? ## GCC Rust github page This needs updated https://rust-gcc.github.io/ its not very pretty right now and is out of date. ## `libproc` project github.com/orgs/rust-GCC/projects/11/ ## Minutes - target info: we need some info on atomics - triagebot? github code owners bot? - https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners - https://github.com/marketplace/actions/label-actions