-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move into_ascii_{low,upp}ercase (back) to a separate trait. #32076
Conversation
This should be backported to 1.8 beta to fix the #32074 regression there. |
☔ The latest upstream changes (presumably #32020) made this pull request unmergeable. Please resolve the merge conflicts. |
Implementing `AsciiExt` for `String` and `Vec<u8>` caused a regression: rust-lang#32074 and the `where Self: Sized` hack to have the `into_` methods in that trait (which is also implemented for DST `str` and `[u8]`) was rather clunky. CC rust-lang#27809
I feel like our story here is going off the rails, tagging this with |
#32074 should be fixed somehow for 1.8. |
The libs team discussed this during triage today and the decision was to revert the As a result, though, I'm going to close this PR for now. We figured that we could continue discussion (including this course of action) on the tracking issue! |
The addition of these methods in rust-lang#31335 required adding impls of the trait for the `String` and `Vec<T>` types. This unfortunately caused a regression (rust-lang#32074) in type inference for using these methods which the libs team has decided to not push forward with. These methods were stabilized in rust-lang#32020 which was intended to get backported to beta, but the backport hasn't happened just yet. This commit reverts both the addition and stabilization of these methods. One proposed method of handling this, in rust-lang#32076, was to move the methods to an extra trait to avoid conflicts with type inference. After some discussion, however, the libs team concluded that we probably want to reevaluate what we're doing here, so discussion will continue on the tracking issue, rust-lang#27809.
std: Revert addition of `into_ascii_*` methods The addition of these methods in #31335 required adding impls of the trait for the `String` and `Vec<T>` types. This unfortunately caused a regression (#32074) in type inference for using these methods which the libs team has decided to not push forward with. These methods were stabilized in #32020 which was intended to get backported to beta, but the backport hasn't happened just yet. This commit reverts both the addition and stabilization of these methods. One proposed method of handling this, in #32076, was to move the methods to an extra trait to avoid conflicts with type inference. After some discussion, however, the libs team concluded that we probably want to reevaluate what we're doing here, so discussion will continue on the tracking issue, #27809. Closes #32074
The addition of these methods in rust-lang#31335 required adding impls of the trait for the `String` and `Vec<T>` types. This unfortunately caused a regression (rust-lang#32074) in type inference for using these methods which the libs team has decided to not push forward with. These methods were stabilized in rust-lang#32020 which was intended to get backported to beta, but the backport hasn't happened just yet. This commit reverts both the addition and stabilization of these methods. One proposed method of handling this, in rust-lang#32076, was to move the methods to an extra trait to avoid conflicts with type inference. After some discussion, however, the libs team concluded that we probably want to reevaluate what we're doing here, so discussion will continue on the tracking issue, rust-lang#27809. Conflicts: src/libstd/ascii.rs
Implementing
AsciiExt
forString
andVec<u8>
caused a regression: #32074 and thewhere Self: Sized
hack to have theinto_
methods in that trait (which is also implemented for DSTstr
and[u8]
) was rather clunky.CC #27809
r? @alexcrichton