# 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