Stream: t-compiler/wg-learning

Topic: The Rustc Overview: blog post


Chris Simpkins (Feb 23 2020 at 18:32, on Zulip):

@WG-learning

Re: blog post for The Rustc Overview document that was discussed in the 2020-02-18 #wg-learning team meeting

Link to the blog post background/outline/draft document on hackmd: https://hackmd.io/dXf8Ydq4R4SDrbY1VpPfUA

I included a bit on Rustc Overview document background/rationale/goals based on my current understanding. Do you mind having a look and confirm that I am on the mark for the Overview before I dive in on a blog post draft about it? Don't hesitate to mark up the hackmd document. After this is discussed and there is a consensus on what the Overview will be, I will write up a detailed outline/initial blog post draft and circulate this for comments/collab work. Thanks!

Chris Simpkins (Feb 23 2020 at 18:34, on Zulip):

Related: The Rustc Overview outline

mark-i-m (Feb 23 2020 at 23:30, on Zulip):

Hi @Chris Simpkins :)
That looks like a good start! One things I noticed: The overview is not really meant as a standalone document at all. It is intend to become a chapter of the rustc-guide (but it's hard to draft things on github, so we do it on hackmd and open a PR later). One thing we found as a WG in a prior meeting is that the guide goes into a lot of detail about individual parts of the compiler, but people found it hard to grasp how those parts all fit together. The overview is intended as a way to remedy that problem a bit.

mark-i-m (Feb 23 2020 at 23:30, on Zulip):

Does that make sense?

Chris Simpkins (Feb 24 2020 at 00:37, on Zulip):

mark-i-m said:

people found it hard to grasp how those parts all fit together. The overview is intended as a way to remedy that problem a bit.

...

Does that make sense?

Yep. I understand! The links that I added to the Overview outline were simply for author reference as the document is created (including the Reference section links, this wasn't intended to be reader facing). Santiago had a number of TODO's tagged for URL to areas of the Rustc Guide and I filled them in. IMO something like a callout/admonition box with links to Rustc guide / source documentation (including the location of a source entry point) might be helpful at the end of each section if it is organized by phase. The Guide ToC is readily available and simple to navigate. This would save a click and scan of Guide docs in the case of source documentation / entry point links.

Santiago Pastorino (Feb 24 2020 at 14:24, on Zulip):

@Chris Simpkins great, this is a really good start :)

Santiago Pastorino (Feb 24 2020 at 14:25, on Zulip):

also agree with mark-i-m comments

Chris Simpkins (Feb 24 2020 at 14:26, on Zulip):

@Santiago Pastorino @mark-i-m Thanks both! I will write a draft of the blog post this week and circulate it around for comments, edits.

Chris Simpkins (Feb 28 2020 at 05:37, on Zulip):

Rough draft 1: https://hackmd.io/dXf8Ydq4R4SDrbY1VpPfUA?view

Please comment & edit

LeSeulArtichaut (Feb 28 2020 at 11:06, on Zulip):

[TODO IMAGE - do we have a rustc structure image to open this section?]

There is the one in the Rustc guide, but IMHO it would be worth creating something maybe more detailed and use that wherever we need.

bjorn3 (Feb 28 2020 at 11:19, on Zulip):

That one is oudated since the recenr split of many crates.

LeSeulArtichaut (Feb 28 2020 at 11:26, on Zulip):

Oh, this is why I found it lacked detail :sweat_smile:

Chris Simpkins (Feb 28 2020 at 12:40, on Zulip):

Oh well, thanks anyways @LeSeulArtichaut . Maybe just an image of the stages for the blog post?

Santiago Pastorino (Feb 28 2020 at 14:48, on Zulip):

the blog post looks good for now :)

Chris Simpkins (Feb 28 2020 at 14:52, on Zulip):

@Santiago Pastorino Thanks! Any thoughts about the introduction and how to demonstrate the size/complexity that justifies the need for an overview document?

Chris Simpkins (Feb 28 2020 at 14:56, on Zulip):

IMO it could also use fine tuning of the FAQ list that we intend to address as part of the overview. If anyone has links to actual IR's, Zulip/Discord threads, or other locations where questions appropriate for the Overview land, we can link a handful of them there.

LeSeulArtichaut (Mar 01 2020 at 17:43, on Zulip):

As of today (6b2983a), the compiler includes:

LeSeulArtichaut (Mar 01 2020 at 17:44, on Zulip):

Which adds up to a whopping 47 crates

LeSeulArtichaut (Mar 01 2020 at 17:48, on Zulip):

...and 387541 lines of code

LeSeulArtichaut (Mar 01 2020 at 17:50, on Zulip):

Oh, and if you add the test suite, you get 77670 more lines, but, that's not really the compiler anymore

LeSeulArtichaut (Mar 01 2020 at 17:51, on Zulip):

Just for clarification, what I did is counting the number of lines in every .rs files, using the following Bash function:

count() {
    find "src/$1" -name '*.rs' | xargs wc -l
}
LeSeulArtichaut (Mar 01 2020 at 17:54, on Zulip):

@Chris Simpkins I've taken the liberty of writing those results in your HackMD

LeSeulArtichaut (Mar 01 2020 at 17:59, on Zulip):

By comparison, liballoc + libcore + libstd adds up to 240334 lines of code

Chris Simpkins (Mar 01 2020 at 18:19, on Zulip):

@LeSeulArtichaut this is fantastic!! Thank you very much!

LeSeulArtichaut (Mar 01 2020 at 18:20, on Zulip):

Nah, just typing in a console and using a calculator xD

Chris Simpkins (Mar 01 2020 at 18:23, on Zulip):

@LeSeulArtichaut If you have a chance, do you mind adding a very brief footnote to the draft that documents how you arrived at those numbers? If we use them, we will want to show what we calculated. Ty!

LeSeulArtichaut (Mar 01 2020 at 18:24, on Zulip):

No problem! Won't be much of a burden, since I've already laid out everything above :slight_smile:

Chris Simpkins (Mar 01 2020 at 18:27, on Zulip):

Let's also see if we get feedback about what is and isn't considered the 'compiler'

LeSeulArtichaut (Mar 01 2020 at 18:29, on Zulip):

For that matter, I took the list from Rustdoc

LeSeulArtichaut (Mar 01 2020 at 18:32, on Zulip):

But now you have the total count, so it is just a matter of subtracting things

LeSeulArtichaut (Mar 01 2020 at 18:33, on Zulip):

Moreover, if you have a doubt about something, it's probably going to be helper crates like build_helper, which don't account much in terms of raw number of lines

Chris Simpkins (Mar 01 2020 at 18:56, on Zulip):

:+1::+1::+1:

LeSeulArtichaut (Mar 01 2020 at 20:34, on Zulip):

I added the footnote, but it definitely needs rephrasing

Chris Simpkins (Mar 01 2020 at 20:37, on Zulip):

Thanks for adding it. No worries about the details in the footnote. Let's see what input we get on the numbers that are included right now and then we can update as needed. I don't know the answer.

LeSeulArtichaut (Mar 01 2020 at 20:43, on Zulip):

@Chris Simpkins In your diagram, I think you should change Lower to Lowering to stay consistent with all the other steps, which are nouns

LeSeulArtichaut (Mar 01 2020 at 20:45, on Zulip):

Ah, I see why thread safety is important now xD

Chris Simpkins (Mar 01 2020 at 20:45, on Zulip):

LeSeulArtichaut said:

Chris Simpkins In your diagram, I think you should change Lower to Lowering to stay consistent with all the other steps, which are nouns

done! tyvm

LeSeulArtichaut (Mar 01 2020 at 20:50, on Zulip):

Also, when you use parsing in the Overview structure part, I think you should specify Source code parsing. I know that given the context and the fact that you specified Command line flag parsing above, there is no ambiguity to someone who knows compilers in general, but to a newcomer, I think adding Source code doesn't hurt and might help

LeSeulArtichaut (Mar 01 2020 at 20:53, on Zulip):

I also added a TODO in the footnote with the link to my detailed count so it can be easily found in the future if needed

Tshepang Lekhonkhobe (Mar 01 2020 at 21:03, on Zulip):

maybe we should rather use tokei to count the code, to avoid including things like whitespace and comments in the total count

LeSeulArtichaut (Mar 01 2020 at 21:14, on Zulip):

Fair point

Chris Simpkins (Mar 01 2020 at 21:15, on Zulip):

LeSeulArtichaut said:

Also, when you use parsing in the Overview structure part, I think you should specify Source code parsing. I know that given the context and the fact that you specified Command line flag parsing above, there is no ambiguity to someone who knows how compilers work, but to a newcomer, I think adding Source code might help

updated! ty

LeSeulArtichaut (Mar 01 2020 at 21:21, on Zulip):

Tshepang Lekhonkhobe said:

maybe we should rather use tokei to count the code, to avoid including things like whitespace and comments in the total count

Let's see how much the results vary

LeSeulArtichaut (Mar 01 2020 at 21:31, on Zulip):

I get this when running tokei libarena libfmt_macros libgraphviz build_helper librustc librustc_* librustdoc libserialize:

-------------------------------------------------------------------------------
 Language            Files        Lines         Code     Comments       Blanks
-------------------------------------------------------------------------------
 CSS                     6         2606         2182           27          397
 JavaScript              4         3026         2533          217          276
 Markdown              426        13444        13444            0            0
 Rust                 1108       425155       320803        61541        42811
 SVG                     3            3            3            0            0
 Plain Text              5          456          456            0            0
 TOML                   48         1108          998            3          107
-------------------------------------------------------------------------------
 Total                1600       445798       340419        61788        43591
-------------------------------------------------------------------------------
LeSeulArtichaut (Mar 01 2020 at 21:33, on Zulip):

So the compiler would account for 425155 lines total...?

LeSeulArtichaut (Mar 01 2020 at 21:33, on Zulip):

Does this mean I have made a mistake in my previous sum? :thinking:

LeSeulArtichaut (Mar 01 2020 at 21:43, on Zulip):

I'll let you triage this @Chris Simpkins, please let me know if you want me to count again "manually"

Chris Simpkins (Mar 01 2020 at 21:46, on Zulip):

LeSeulArtichaut said:

I'll let you triage this Chris Simpkins, please let me know if you want me to count again "manually"

I will take a look at it this week. Thanks for digging in here. IMO we can ballpark this for the purposes of the blog article. My goal was simply to demonstrate that it is big and broad so an overview makes sense, not necessarily to provide an exact calculation (though that would be interesting to know). I think that we can say something like "over 300,000 lines of source and XXX modules/crates". Seem reasonable?

LeSeulArtichaut (Mar 01 2020 at 21:49, on Zulip):

Seem reasonable?

IMO perfectly acceptable. Maybe round to 350,000?

Chris Simpkins (Mar 01 2020 at 21:55, on Zulip):

Let's see what @mark-i-m and @Santiago Pastorino think. I'm interested to hear their thoughts about the crates that are being used in the calculation. We don't want to print something controversial that distracts from the intent of the post.

LeSeulArtichaut (Mar 01 2020 at 21:56, on Zulip):

We don't want to print something controversial that distracts from the intent of the post.

Yet that's what we're doing right now :big_smile:

Santiago Pastorino (Mar 02 2020 at 17:47, on Zulip):

Chris Simpkins said:

Let's see what mark-i-m and Santiago Pastorino think. I'm interested to hear their thoughts about the crates that are being used in the calculation. We don't want to print something controversial that distracts from the intent of the post.

as the articles says spreaded along 47 crates I think it's fair

mark-i-m (Mar 02 2020 at 23:19, on Zulip):

The draft looks fantastic! Thanks for the time you put into it :)

mark-i-m (Mar 02 2020 at 23:20, on Zulip):

And thanks @LeSeulArtichaut for crunching the numbers... I've never realized there are 47 crates before!

Chris Simpkins (Mar 02 2020 at 23:20, on Zulip):

mark-i-m said:

The draft looks fantastic! Thanks for the time you put into it :slight_smile:

Ty! and no problem at all.

LeSeulArtichaut (Mar 06 2020 at 21:10, on Zulip):

[TODO: decide what is and isn’t the compiler.]

I think we can check that by now. 47 crates and over 350,000 lines of code, seems OK to everyone?

LeSeulArtichaut (Mar 06 2020 at 22:56, on Zulip):

Contribute to the development of the Overview in our TODO: XXX branch on GitHub

Do we need a separate branch? If we don't include the overview in the summary, it won't appear in the online book, right?

LeSeulArtichaut (Mar 06 2020 at 22:56, on Zulip):

Or is it for pure organizational stuff?

Chris Simpkins (Mar 06 2020 at 22:59, on Zulip):

LeSeulArtichaut said:

Contribute to the development of the Overview in our TODO: XXX branch on GitHub

Do we need a separate branch? If we don't include the overview in the summary, it won't appear in the online book, right?

Don't know. I don't have any experience with mdbook build workflows

LeSeulArtichaut (Mar 06 2020 at 22:59, on Zulip):

As for the Structure of the Rustc Crates part, do we want to include an outdated graph? Do we want to include a graph at all? I'm not sure this one is necessary

LeSeulArtichaut (Mar 06 2020 at 22:59, on Zulip):

Chris Simpkins said:

LeSeulArtichaut said:

Contribute to the development of the Overview in our TODO: XXX branch on GitHub

Do we need a separate branch? If we don't include the overview in the summary, it won't appear in the online book, right?

Don't know. I don't have any experience with mdbook build workflows

@mark-i-m Do you have any idea?

LeSeulArtichaut (Mar 06 2020 at 23:00, on Zulip):

That's a lot of quoting

Chris Simpkins (Mar 06 2020 at 23:00, on Zulip):

As for the Structure of the Rustc Crates part, do we want to include an outdated graph? Do we want to include a graph at all? I'm not sure this one is necessary

Is that outdated? It is a new diagram based on one that is currently in the Guide

LeSeulArtichaut (Mar 06 2020 at 23:00, on Zulip):

bjorn3 said:

That one is oudated since the recenr split of many crates.

Chris Simpkins (Mar 06 2020 at 23:01, on Zulip):

LeSeulArtichaut said:

bjorn3 said:

That one is oudated since the recenr split of many crates.

Ah, yes we can definitely remove it from the blog post. Ideally we update it and include in the Overview itself IMO

Chris Simpkins (Mar 06 2020 at 23:01, on Zulip):

and in the Guide

Chris Simpkins (Mar 06 2020 at 23:04, on Zulip):

Added a comment in the blog post draft so that I don't forget

LeSeulArtichaut (Mar 06 2020 at 23:06, on Zulip):

Last remark I have: where should we place the Stages of the Compile Process graph? For the moment it seems misplaced to me. I thought about including it after the Overview Structure part, under a title like Visualizing the compiler, and introduced by a sentence like "Rustc is quite complex, and text isn't convenient to intuitively convey concepts to remember. This is why we plan to use a lot of graphs, like this one."

mark-i-m (Mar 06 2020 at 23:52, on Zulip):

Do we need a separate branch? If we don't include the overview in the summary, it won't appear in the online book, right?

Yes, that's correct, though I don't think we have ever used this strategy before... it could be interesting

mark-i-m (Mar 06 2020 at 23:53, on Zulip):

Also, I don't know if it would be compiled and left out of the outline or if it would not be compiled at all...

mark-i-m (Mar 06 2020 at 23:55, on Zulip):

Last remark I have: where should we place the Stages of the Compile Process graph? For the moment it seems misplaced to me. I thought about including it after the Overview Structure part, under a title like Visualizing the compiler, and introduced by a sentence like "Rustc is quite complex, and text isn't convenient to intuitively convey concepts to remember. This is why we plan to use a lot of graphs, like this one."

That could work, but I also don't want to overwhelm potential newcomers... almost nobody ever has to care about the full bootstrap process, I think

LeSeulArtichaut (Mar 07 2020 at 10:09, on Zulip):

So you'd prefer to not include the graph in the post at all?

mark-i-m (Mar 07 2020 at 20:19, on Zulip):

I guess I lean that way, but I don't have strong feelings

Chris Simpkins (Mar 07 2020 at 20:21, on Zulip):

Thoughts about the structure of the Overview? Organized by compile phase?

mark-i-m (Mar 07 2020 at 20:28, on Zulip):

I think we can leave it intentionally vague for the blog post

mark-i-m (Mar 07 2020 at 20:29, on Zulip):

but yeah, I think organizing the overview itself by compiler phase seems reasonable

Chris Simpkins (Mar 07 2020 at 20:30, on Zulip):

OK, makes sense to eliminate the diagram then. I thought that we would introduce the structure there. I don't have much to say in the post then. It will just be point out that there are FAQ's and the compiler is big/complex. So weigh in at these locations if you'd like to help define the Overview/participate in work

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

I think that sounds ok. A lot of the Inside Rust blog posts are pretty short

LeSeulArtichaut (Mar 07 2020 at 21:49, on Zulip):

@Chris Simpkins I think you can create the PR by now. You’ll acquire more feedback that way

Chris Simpkins (Mar 13 2020 at 16:48, on Zulip):

I intend to wrap this up and post the PR this weekend.

Chris Simpkins (Mar 13 2020 at 16:51, on Zulip):

We also planned to complete an outline of the Overview for our LWG meeting next week.

Santiago Pastorino (Mar 13 2020 at 16:51, on Zulip):

:+1:

Chris Simpkins (Mar 13 2020 at 16:53, on Zulip):

For the blog post PR: it looks like the Markdown files are date stamped in the file path? Do I date it on the day of PR and edit in a subsequent commit for publication date?

Santiago Pastorino (Mar 13 2020 at 17:16, on Zulip):

yeah, that's uncertain to me :), just use today date and then we adjust

mark-i-m (Mar 17 2020 at 20:23, on Zulip):

Regarding the overview itself, I realized there are two distinct technical aspects:
0) _What_ the compiler does to your code
1) _How_ it does it

And they are both important to understanding the compiler

mark-i-m (Mar 17 2020 at 20:24, on Zulip):

For example the Ty module isn't really that related to the _What_ because it is an implementation detail, but it is important to the how

mark-i-m (Mar 17 2020 at 20:24, on Zulip):

likewise with incremental compilation and queries

Chris Simpkins (Mar 17 2020 at 20:27, on Zulip):

Somewhat of an aside, but what is the state of the query transition?

mark-i-m (Mar 17 2020 at 20:28, on Zulip):

Most of the compiler has been query-fied except the early stages. Basically everything after we construct the HIR.

mark-i-m (Mar 17 2020 at 20:28, on Zulip):

There are a lot of discussions about how to do end-to-end queries, especially, how to queryfy things like parsing and HIR

mark-i-m (Mar 17 2020 at 20:29, on Zulip):

and there are some incremental steps towards that HIR and there (haha get it?)

Chris Simpkins (Mar 17 2020 at 20:32, on Zulip):

Do you think that the query approach is a level of detail that is important for the Overview?

mark-i-m (Mar 17 2020 at 20:48, on Zulip):

probably

mark-i-m (Mar 17 2020 at 20:48, on Zulip):

it's a pretty big difference from tradition compilers, which are organized as passes that happen sequentially

Chris Simpkins (Mar 17 2020 at 20:55, on Zulip):

it's a pretty big difference from tradition compilers, which are organized as passes that happen sequentially

Yeah this is one of the questions that I have about how to approach the stages of the compile process from a documentation standpoint, including the documentation of "this is what has happened to your code as of this stage" summaries that we have discussed adding to the Guide.

Chris Simpkins (Mar 22 2020 at 04:14, on Zulip):

@WG-learning I revised the Rustc Overview blog post in https://hackmd.io/dXf8Ydq4R4SDrbY1VpPfUA?view.

I have two questions for the group and then I am ready to submit the PR.

  1. Do we want to revise and include the compiler stages diagram in the post? In general I like visuals, but this may be a bit too much for the blog post. If there is consensus to remove it, we can consider updating it for the Overview.
  2. Can we push the current working draft of the Overview to a rustc-dev-guide branch so that I can point to it in the post? The call to action that I came up with is to (1) submit new issue reports with ideas about what should be included for those who don't intend to write and (2) submit PR's with revisions to the Overview for those who do
Tshepang Lekhonkhobe (Mar 22 2020 at 06:10, on Zulip):

we can wait for the PR to be merged, and then publish the blog post

Chris Simpkins (Mar 22 2020 at 12:47, on Zulip):

Not following you Tshepang. Wait for which PR to be merged?

Tshepang Lekhonkhobe (Mar 22 2020 at 13:27, on Zulip):

the overview PR... I thought there's an overview PR waiting to be made for the guide, and the blog post PR

Chris Simpkins (Mar 22 2020 at 13:50, on Zulip):

Mark and Santiago were interested in leading with the blog post as a call for feedback from the community on what should be included in the Overview. I drafted it under the assumption that it would be published before the initial draft of the Overview is published instead of an announcement of the Overview.

Tshepang Lekhonkhobe (Mar 22 2020 at 16:53, on Zulip):

oh, ok, missed that... sorry

mark-i-m (Mar 22 2020 at 22:38, on Zulip):

@Chris Simpkins it looks great!

One thing:

In the process of answering these questions, we plan to address frequent questions from the community like

I would say something like "at a high level" or "big picture"; otherwise, it sounds like we go in details about all of these things.

Do we want to revise and include the compiler stages diagram in the post?

I would say let's save it and polish it for the actual overview... it looks really nice, but I'm still not really sure what the best way to represent some things is. For example, "the type system" isn't really one box in the diagram it's more of a bunch of patches here and there. I very much like the idea of adding high-quality diagrams in the overview, though.

Can we push the current working draft of the Overview to a rustc-dev-guide branc

I'm fine with this if others agree. I agree that gh is better for getting feedback than hackmd. I'm also open to @Tshepang Lekhonkhobe's idea, but I am worried merging first might prevent people from giving feedback because they might think "it's already done"? Not sure. What do others think?

Chris Simpkins (Mar 22 2020 at 23:21, on Zulip):

I would say something like "at a high level" or "big picture"; otherwise, it sounds like we go in details about all of these things.

I'll update this tonight. Ty!

Chris Simpkins (Mar 22 2020 at 23:22, on Zulip):

I would say let's save it and polish it for the actual overview... it looks really nice, but I'm still not really sure what the best way to represent some things is. For example, "the type system" isn't really one box in the diagram it's more of a bunch of patches here and there. I very much like the idea of adding high-quality diagrams in the overview, though.

Sounds good. I'll take it out and save the source in case we need it for the Overview doc. Thanks!

Chris Simpkins (Mar 23 2020 at 02:06, on Zulip):

updated

mark-i-m (Mar 23 2020 at 03:03, on Zulip):

LGTM! Thanks @Chris Simpkins :)

mark-i-m (Mar 23 2020 at 03:04, on Zulip):

Personally, it looks good to me. I think it is ready to post, pending what we decide about branches/hackmd

Chris Simpkins (Mar 23 2020 at 18:17, on Zulip):

Sounds good. Please let me know when you decide on the branch issue. I am ready to post the PR when the decision is made.

mark-i-m (Mar 24 2020 at 01:13, on Zulip):

@Santiago Pastorino Thoughts?

Santiago Pastorino (Mar 24 2020 at 19:00, on Zulip):

catching up with things, let me read the post

Santiago Pastorino (Mar 24 2020 at 19:01, on Zulip):

this looks good IMO

Santiago Pastorino (Mar 24 2020 at 19:01, on Zulip):

let's just open a PR so others can give feedback too

Chris Simpkins (Mar 24 2020 at 20:35, on Zulip):

@Santiago Pastorino Thoughts about where to link to the document?

Santiago Pastorino (Mar 24 2020 at 20:39, on Zulip):

you meant from the post to the work in progress overview?

Chris Simpkins (Mar 24 2020 at 20:40, on Zulip):

Work is in progress on the Overview, and we need your help. A working draft of the document is available in our [TODO: what branch will we use? ] branch of the rustc-dev-guide GitHub repository.

If there is an area of rustc that you would like to understand better and it is appropriate for an overview document, please open an issue on our issue tracker to let us know.

And if you know the compiler and want to pitch in on The Rustc Overview, open a pull request with your revisions. We welcome your contributions and look forward to your participation!

Santiago Pastorino (Mar 24 2020 at 20:41, on Zulip):

that seems good

Chris Simpkins (Mar 24 2020 at 20:41, on Zulip):

lol, see the TODO

Santiago Pastorino (Mar 24 2020 at 20:41, on Zulip):

ahh sorry :)

Santiago Pastorino (Mar 24 2020 at 20:42, on Zulip):

we can link the HackMD I guess

Chris Simpkins (Mar 24 2020 at 20:42, on Zulip):

trying to decide if we will point people to a branch of the document on GH repo, master of GH repo (where document will be live but WIP), or hackmd

Santiago Pastorino (Mar 24 2020 at 20:42, on Zulip):

unsure, or we can open a PR from there

Santiago Pastorino (Mar 24 2020 at 20:42, on Zulip):

@mark-i-m what do you think?

Santiago Pastorino (Mar 24 2020 at 20:43, on Zulip):

the only problem I'd see to a HackMD document is that anyone could modify it, at least by default they need an account and we have revisions

Chris Simpkins (Mar 24 2020 at 20:43, on Zulip):

GH supports reviews too

Santiago Pastorino (Mar 24 2020 at 20:44, on Zulip):

I'm fine with either to be honest

Chris Simpkins (Mar 24 2020 at 20:55, on Zulip):

And the GH PR approach is likely (though perhaps not legally?) a more explicit approach to dealing with author contributions and the license structure there than a document that is edited by multiple people and pushed by one person. Highly unlikely to be a problem here, but who knows who shows up to edit the document.

Santiago Pastorino (Mar 24 2020 at 20:56, on Zulip):

hmm yeah

Santiago Pastorino (Mar 24 2020 at 20:57, on Zulip):

PRs are always gonna get more traction too

mark-i-m (Mar 24 2020 at 23:41, on Zulip):

Personally, I lean towards opening a PR and pointing to the PR in the blog post (kind of like with the ty Chapter).

Chris Simpkins (Mar 25 2020 at 13:18, on Zulip):

I will push the PR this evening and we can sort it out there before it is merged. It will have the TODO in the text for now until there is a link to insert in its place.

Chris Simpkins (Mar 26 2020 at 02:58, on Zulip):

Blog post draft PR: https://github.com/rust-lang/blog.rust-lang.org/pull/551

mark-i-m (Mar 26 2020 at 04:10, on Zulip):

I will post the PR soon

mark-i-m (Mar 26 2020 at 04:28, on Zulip):

https://github.com/rust-lang/rustc-dev-guide/pull/633

Chris Simpkins (Mar 26 2020 at 05:14, on Zulip):

Thanks @mark-i-m. I updated the post with the PR link. I can update the date if we hold on publication for a review of the post. It is currently dated today (26th)

Chris Simpkins (Mar 26 2020 at 12:28, on Zulip):

OK for me to give Niko the green light to push the blog post?

Santiago Pastorino (Mar 26 2020 at 13:29, on Zulip):

I think the post is good to go

Chris Simpkins (Mar 26 2020 at 13:41, on Zulip):

Thanks @Santiago Pastorino !

@mark-i-m Green light from you on the blog post?

Chris Simpkins (Mar 26 2020 at 13:58, on Zulip):

@LeSeulArtichaut You ok with the way that I presented your data?

LeSeulArtichaut (Mar 26 2020 at 14:00, on Zulip):

Chris Simpkins said:

LeSeulArtichaut You ok with the way that I presented your data?

Nothing more to say :slight_smile:

mark-i-m (Mar 26 2020 at 14:07, on Zulip):

Yep, LGTM. Thanks @Chris Simpkins !

Chris Simpkins (Mar 26 2020 at 14:08, on Zulip):

@nikomatsakis We are ready to publish the blog post in https://github.com/rust-lang/blog.rust-lang.org/pull/551. Thanks!

Chris Simpkins (Mar 27 2020 at 17:45, on Zulip):

Published

Last update: Apr 03 2020 at 17:50UTC