Skip to content

The smart_pointers section is too big #1701

Open

Description

@kenden

When following the exercises, it is nice to check the suggested reading.
For the smart_pointers exercises, it includes a lot of reading:

  • Smart Pointers
    -> the full chapter about Smart Pointers in The Book. It is a big chapter.
  • Using Box to Point to Data on the Heap
    -> Repetition. This is included in the Smart Pointers chapter
  • Rc<T>, the Reference Counted Smart Pointer
    -> Repetition. This is included in the Smart Pointers chapter
  • Shared-State Concurrency
    -> This is included in the chapter Fearless Concurrency in The Book.
    To understand it, it is better to read the full chapter, and it is a Big chapter.
  • Cow Documentation
    -> Advanced topic about Copy-On-Write (actually, Clone-On-Write in Rust), a performance optimization technique, which requires to check other sources (example) to understand well. (This is not actually covered in The Book).

The exercises and reading to do before the Smart Pointers section are quite fast to get through. However, reading the references for 2 full chapters in The Book + researching about the Cow type is more time consuming. So, less engaging.

I would suggest to move the arc1 exercise under the threads topics to not have to read about concurrency yet.

Rustlings v5.6.1

Activity

  1. asasine commented on Jan 23, 2024

    @asasine

    I would suggest to move the arc1 exercise under the threads topics to not have to read about concurrency yet.

    I had the same thought and support this. I also think cow1 isn’t conceptually relevant until during/after threads so it could be moved too.

  2. added this to the v7 milestone on Jul 7, 2024
  3. mo8it commented on Jul 7, 2024

    @mo8it
    Contributor

    We could make arc1 threads4 in the next major version because it is a breaking change.

  4. theayush07 commented on Oct 7, 2026

    @theayush07

    I’d like to work on this issue. I’ll inspect the exercise list and move the Arc/thread-based exercise into the threads section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions