Skip to content

Commit c08f2b8

Browse files
Split one bullet into two
1 parent 7089998 commit c08f2b8

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

text/3437-implementable-trait-alias.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,8 @@ let _: IntIter<Item = u32> = [1_u32].into_iter(); // `Item = u32` is redundant,
364364
(For example, `trait Foo = Bar + Send;` could be made implementable).
365365
- This may make the implementablility rules more intuitive to some, as the distinction between `+ Send` and `where Self: Send` would no longer be present.
366366
- However, it also might make the rules less intuitive, as the symmetry with `impl` blocks would be broken.
367-
- Also, such a change might break the commutativity of `+`, or make it less obvious which trait is being implemented.
367+
- Also, such a change might break the commutativity of `+`.
368+
- It could also make it less obvious which trait is being implemented.
368369
- Again, user feedback could help make this decision.
369370
- Another option is to require an attribute on implementable aliases; e.g. `#[implementable] trait Foo = ...`. This would make the otherwise-subtle implementability rules more explicit, at the cost of cluttering user code and the attribute namespace.
370371
- A previous version of this RFC required generic parameters of implementable trait aliases to be used as generic parameters of the alias's primary trait. This restriction was meant to avoid surprising errors:

0 commit comments

Comments
 (0)