Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Worth keeping android/interoperability/cpp.html and chromium/interoperability-with-cpp.html in sync? #1523

Open
anforowicz opened this issue Nov 29, 2023 · 5 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@anforowicz
Copy link
Collaborator

Android-specific and Chromium-specific parts of the course both talk about using https://cxx.rs for C++/Rust interop. Is it worth it to somehow unify some of the content?

In particular, both introductory slides (at android/interoperability/cpp.html and chromium/interoperability-with-cpp.html) have a diagram of how cxx works, but Chromium also has additional speaker notes where it lists some benefits (over manually authoring the bindings).

PS. Some of the content will need to remain Android-specific and/or Chromium-specific:

/cc @adetaylor

@mgeisler
Copy link
Collaborator

Great that you're on top of this!

I agree that there will be

  • Android specific parts
  • Chromium specific parts
  • and there will also be generic parts

I've been thinking of pulling all of the "Interoperate with X" slides out of the Android section and putting them into their own top-level place for a while. They're a bit out of place there, honestly.

Now, the question is how we can do this? I don't like duplicating the slides, but I think this approach could work:

  • Android has a single slide which says Now to [here](../interoperability/cxx.md) to talk about CXX.
  • Chromium has the same slide.
  • at the end of the generic CXX slides, there will be a slide saying Now go back to [Android](../android.md) or [Chromium](../chromium.md).

I think this could work reasonably well — it will be like those Choose Your Own Adventure books I remember from when I was a child 😄 An important advantage of this is that the mdbook search will point you to the right place since the generic content is only present once.

The Android/Chromium slide could have the part about build rules before after the link to the generic CXX slides.

/cc @randomPoison and @fw-immunant

@djmitche
Copy link
Collaborator

We could consider putting that after the unsafe section of the Fundamentals course. I've left a fair bit of time for that section, but after some experience teaching the course maybe there's room?

@mgeisler
Copy link
Collaborator

mgeisler commented Sep 7, 2024

Hi @anforowicz, would you be able to do the merge of the slides?

I've noticed that I often end up on the wrong slide when I search for "cxx" — that is, I end up on, say, Limitations of CXX instead of With C++ which covers CXX in detail.

The detailed coverage was added in #1392 by @randomPoison and I think it would be helpful to combine this. As Dustin suggests, it would fit nicely into the Unsafe Rust section.

The Android and Chromium classes could then just link to this section — we don't have to go linearly through the large book when teaching a class :-)

@mgeisler mgeisler added enhancement New feature or request good first issue Good for newcomers labels Sep 7, 2024
@anforowicz
Copy link
Collaborator Author

Hi @anforowicz, would you be able to do the merge of the slides?

I'll try to take a look, but it may take me a while to get here.

@mgeisler
Copy link
Collaborator

I'll try to take a look, but it may take me a while to get here.

That is totally fine, as long as it's someones radar 😄 Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants