@@ -858,7 +858,23 @@ namespaced.
858
858
#### Channel adapters
859
859
[ Channel adapters ] : #channel-adapters
860
860
861
- The ` ChanReader ` and ` ChanWriter ` adapters will be kept exactly as they are today.
861
+ The ` ChanReader ` and ` ChanWriter ` adapters will be left as they are today, and
862
+ they will remain ` #[unstable] ` . The channel adapters currently suffer from a few
863
+ problems today, some of which are inherent to the design:
864
+
865
+ * Construction is somewhat unergonomic. First a ` mpsc ` channel pair must be
866
+ created and then each half of the reader/writer needs to be created.
867
+ * Each call to ` write ` involves moving memory onto the heap to be sent, which
868
+ isn't necessarily efficient.
869
+ * The design of ` std::sync::mpsc ` allows for growing more channels in the
870
+ future, but it's unclear if we'll want to continue to provide a reader/writer
871
+ adapter for each channel we add to ` std::sync ` .
872
+
873
+ These types generally feel as if they're from a different era of Rust (which
874
+ they are!) and may take some time to fit into the current standard library. They
875
+ can be reconsidered for stabilization after the dust settles from the I/O
876
+ redesign as well as the recent ` std::sync ` redesign. At this time, however, this
877
+ RFC recommends they remain unstable.
862
878
863
879
#### ` stdin ` , ` stdout ` , ` stderr `
864
880
[ stdin, stdout, stderr ] : #stdin-stdout-stderr
0 commit comments