Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After many classes and seeing how many students absorb the contents, I think it'd better if we don't cover trait objects in the course. I have a few reasons for this:
dyn Trait
in exercises, so students never get a chance to get hand-on experience. I think this hampers learning a lot, as the topic is unintuitive and students are unlikely to absorb it without practice.Error
and turn it into thisBox<dyn Error>
type". We could probably put more details in the "More to Explore" section of that slide, but I think that's really the most we need to say about trait objects.On the other hand,
dyn Trait
is referenced in the Android and Concurrency classes. I've taught the Android class and I don't think it's essential to the class, or at least I could briefly explain enough for students to at least understand how to use a trait object, even if they wouldn't fully understand how they work. I'm not sure how this would impact the Concurrency class though, so I'm curious what @fw-immunant and other people who have taught the class think.