Stream: t-compiler/major changes

Topic: MCP: Reorganize the rust-lang/rust repo di compiler-team#316


triagebot (Jun 20 2020 at 18:18, on Zulip):

A new proposal has been announced #316. It will be brought up at the next meeting.

mark-i-m (Jun 20 2020 at 20:43, on Zulip):

Moving comment by @Vadim Petrochenkov from gh:

+1, but this involves too many teams and too much bikeshedding at the same time, starting with librustc_* crates would be more manageable.

mark-i-m (Jun 20 2020 at 20:44, on Zulip):

For my part, starting with just the compiler/ crates and opening another MCP for the next part seems reasonable

nikomatsakis (Jun 24 2020 at 15:03, on Zulip):

Incremental ftw

nikomatsakis (Jun 24 2020 at 15:03, on Zulip):

I agree that seems fine

mark-i-m (Jun 24 2020 at 17:02, on Zulip):

nikomatsakis said:

I agree that seems fine

Sorry, I didn't quite understand what you mean. Do you mean @Vadim Petrochenkov 's idea of splitting seems fine?

DPC (Jun 24 2020 at 18:09, on Zulip):

I would be interested in working on this

mark-i-m (Jun 25 2020 at 15:50, on Zulip):

@Vadim Petrochenkov @nikomatsakis @DPC I've updated the MCP as per feedback. Please let me know what you think.

Vadim Petrochenkov (Jun 25 2020 at 20:17, on Zulip):

I think we should not touch tests and llvm now.

Vadim Petrochenkov (Jun 25 2020 at 20:18, on Zulip):

Sorting out compiler tests and non-compiler tests is a separate project, also I'm not sure they should be in the compiler directory?

Vadim Petrochenkov (Jun 25 2020 at 20:19, on Zulip):

llvm-project should be top-level, IMO.
LLVM is a separate project that is larger that all the compiler crates combined, not a part of any crate's build and is built separately.

Vadim Petrochenkov (Jun 25 2020 at 20:21, on Zulip):

No idea what to do with "rustc/ -> bin/rustc/", is it an idiomatic directory structure for projects with multiple libraries and a binary?

Vadim Petrochenkov (Jun 25 2020 at 20:23, on Zulip):

Also see https://github.com/rust-lang/rust/pull/73265#issuecomment-643311357 regarding naming (std vs compiler).

simulacrum (Jun 25 2020 at 20:23, on Zulip):

I will say that I am feeling pretty unenthusiastic about having energy to pull together consensus here myself

Vadim Petrochenkov (Jun 25 2020 at 20:29, on Zulip):

That's why I said "starting with librustc_* crates would be more manageable" in https://github.com/rust-lang/compiler-team/issues/316#issuecomment-647031988 (no llvm, no tests).
No consensus building is necessary for them (except the top-level directory name perhaps).

mark-i-m (Jun 25 2020 at 20:49, on Zulip):

simulacrum said:

I will say that I am feeling pretty unenthusiastic about having energy to pull together consensus here myself

I won't lie... neither am I. But I do think this is a concretely useful thing to do.

mark-i-m (Jun 25 2020 at 20:49, on Zulip):

Vadim Petrochenkov said:

llvm-project should be top-level, IMO.
LLVM is a separate project that is larger that all the compiler crates combined, not a part of any crate's build and is built separately.

I guess the reason I suggested putting this here is that I associate LLVM with the compiler, and it seems natural to put it with the compiler src

mark-i-m (Jun 25 2020 at 20:51, on Zulip):

Vadim Petrochenkov said:

No idea what to do with "rustc/ -> bin/rustc/", is it an idiomatic directory structure for projects with multiple libraries and a binary?

Hmm... good question... actually, now that librustc is librustc_middle, we can probably leave the binary as rustc

mark-i-m (Jun 25 2020 at 20:52, on Zulip):

So I guess a major questions is how much do people care about the exact naming?

mark-i-m (Jun 25 2020 at 20:53, on Zulip):

If we do something reasonable and idiomatic enough, does it need to be discussed too much?

Vadim Petrochenkov (Jun 25 2020 at 21:33, on Zulip):

Well, I care :slight_smile:

simulacrum (Jun 25 2020 at 21:37, on Zulip):

Vadim Petrochenkov said:

That's why I said "starting with librustc_* crates would be more manageable" in https://github.com/rust-lang/compiler-team/issues/316#issuecomment-647031988 (no llvm, no tests, librustc_* literally).
No consensus building is necessary for them (except the top-level directory name perhaps) (assuming the std PR has landed and set the example).

Hm I find it hard to reconcile this with you caring about the exact naming -- it seems like if there's at least one person who does care about exact naming then we do need some level of consensus building? (Or maybe two, I guess).

mark-i-m (Jun 26 2020 at 00:56, on Zulip):

@Vadim Petrochenkov It would be helpful to know more precisely what your concerns are. For example, is it conciseness? idiomaticness? or something else?

Vadim Petrochenkov (Jun 26 2020 at 17:02, on Zulip):

Yeah, all of that. If I don't like some of proposed changes, I'll try to motivate why.

Vadim Petrochenkov (Jun 26 2020 at 17:03, on Zulip):

Right now I don't have any concerns about moving std and then librustc_* directories using the same scheme as std.

oli (Jul 16 2020 at 14:24, on Zulip):

so... do we split the MCP or just approve it with the "don't do it all at once" constraint?

Joshua Nelson (Jul 16 2020 at 14:26, on Zulip):

Vadim Petrochenkov said:

No idea what to do with "rustc/ -> bin/rustc/", is it an idiomatic directory structure for projects with multiple libraries and a binary?

personally I dislike nested directory structures, especially when there's only 3 files in the folder

Joshua Nelson (Jul 16 2020 at 14:27, on Zulip):

perf just undid a change like this: https://github.com/rust-lang/rustc-perf/pull/684

mark-i-m (Jul 23 2020 at 18:17, on Zulip):

Sorry for the slow response here... bandwidth has been low

mark-i-m (Jul 23 2020 at 18:17, on Zulip):

I'm planning to close this MCP and open a more targetted one

mark-i-m (Jul 23 2020 at 18:17, on Zulip):

For just the compiler crates

mark-i-m (Jul 23 2020 at 18:18, on Zulip):

But I'm not sure when I will get around to that

Joshua Nelson (Jul 24 2020 at 20:36, on Zulip):

I forget where, but someone mentioned in a PR that having std and compiler seems a little inconsistent: I would expect either (std and rustc) or (library and compiler) or something (with preference for the first option).

Manish Goregaokar (Jul 27 2020 at 16:55, on Zulip):

I'm really happy to see the reorganization changes: would it also be possible to move llvm and compiler-rt into third_party/ or something? It's very annoying to grep code with those living where they do.

simulacrum (Jul 27 2020 at 17:52, on Zulip):

@Manish Goregaokar I added a .ignore file for myself so that ripgrep ignores those paths (also stdarch because I don't personally care about it)

Manish Goregaokar (Jul 27 2020 at 17:52, on Zulip):

Ah good plan. Still think it should be separate though :)

Joshua Nelson (Jul 27 2020 at 17:52, on Zulip):

that doesn't help people who use grep instead of ripgrep :shrug: and it's also more setup

simulacrum (Jul 27 2020 at 17:52, on Zulip):

oh for sure

simulacrum (Jul 27 2020 at 17:53, on Zulip):

Just saying there's a temporary solution that probably helps a good portion of rustc devs who I presume are probably using ripgrep :)

Josh Triplett (Jul 27 2020 at 18:05, on Zulip):

/me tends to use git grep, which can search or not-search submodules with an option.

simulacrum (Jul 27 2020 at 18:12, on Zulip):

I usually do want to search in submodules like rustfmt and clippy and miri, but not in the LLVM ones. Sometimes -trust is enough, but it's annoying to have to add that all the time or think about whether that's appropriate.

mark-i-m (Jul 28 2020 at 03:46, on Zulip):

I opened a new MCP with the narrower scope of just moving compiler stuff: https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Move.20the.20compiler.20to.20a.20new.20.60compiler.2F.60.20di.E2.80.A6.20compiler-team.23336

mark-i-m (Jul 28 2020 at 03:46, on Zulip):

I added an unresolved question regarding where to put llvm-project, though I like the idea of not putting it with the other compiler stuff for grep-ability

Last update: May 07 2021 at 07:00UTC