What is a trait object, exactly?
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- documentation
Research direction
Start with the trait-object wording and syntax quoted in the issue, then compare them with the RFC 1909 example. Clarify whether the term refers to a value, a type, or syntax, and make the example's trait object unambiguous; the documentation is done when these distinctions are consistent.
Written by the indexing model from the issue text.
Description
The current wording is pretty confusing and needs refining.
A trait object is an opaque value of another type that implements a set of traits
This suggests a trait object is a value.
For example, given a trait Trait, the following are all trait objects:
- Trait
- dyn Trait
- ...
This suggests "dyn Trait" itself is a trait object.
Syntax TraitObjectType : dyn? TypeParamBounds
This suggests a trait object is a value of type "dyn Trait".
After reading this section, I still don't know which part in
// rfc1909. not exactly sure this is correct.
let reader: dyn Read = File::open(path)?;
is the trait object here. Is it reader, dyn Read, or File?
- Dominant language
- Rust
- Stars
- 1.6k
- Forks
- 607
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 12
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-lang/reference
-
A-const-eval A-undefined-behavior
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
A-resolve
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
A-coercions
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
All issues in rust-lang/reference
Similar issues
-
risk:low runtime status:in-progress type:test
Difficulty 1/5 Under an hour Newbie friendliness 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·