mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-27 07:03:45 +00:00
Rollup merge of #98525 - JohnTitor:issue-79224, r=compiler-errors
Add regression test for #79224 Closes #79224 r? `@compiler-errors` Signed-off-by: Yuki Okushi <jtitor@2k36.org>
This commit is contained in:
commit
b8bb6f9a4b
24
src/test/ui/specialization/min_specialization/issue-79224.rs
Normal file
24
src/test/ui/specialization/min_specialization/issue-79224.rs
Normal file
@ -0,0 +1,24 @@
|
||||
#![feature(min_specialization)]
|
||||
use std::fmt::{self, Display};
|
||||
|
||||
pub enum Cow<'a, B: ?Sized + 'a, O = <B as ToOwned>::Owned>
|
||||
where
|
||||
B: ToOwned,
|
||||
{
|
||||
Borrowed(&'a B),
|
||||
Owned(O),
|
||||
}
|
||||
|
||||
impl ToString for Cow<'_, str> {
|
||||
fn to_string(&self) -> String {
|
||||
String::new()
|
||||
}
|
||||
}
|
||||
|
||||
impl<B: ?Sized> Display for Cow<'_, B> { //~ ERROR: the trait bound `B: Clone` is not satisfied [E0277]
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { //~ ERROR: the trait bound `B: Clone` is not satisfied [E0277]
|
||||
write!(f, "foo")
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
@ -0,0 +1,29 @@
|
||||
error[E0277]: the trait bound `B: Clone` is not satisfied
|
||||
--> $DIR/issue-79224.rs:18:17
|
||||
|
|
||||
LL | impl<B: ?Sized> Display for Cow<'_, B> {
|
||||
| ^^^^^^^ the trait `Clone` is not implemented for `B`
|
||||
|
|
||||
= note: required because of the requirements on the impl of `ToOwned` for `B`
|
||||
help: consider further restricting this bound
|
||||
|
|
||||
LL | impl<B: ?Sized + std::clone::Clone> Display for Cow<'_, B> {
|
||||
| +++++++++++++++++++
|
||||
|
||||
error[E0277]: the trait bound `B: Clone` is not satisfied
|
||||
--> $DIR/issue-79224.rs:19:5
|
||||
|
|
||||
LL | / fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
LL | | write!(f, "foo")
|
||||
LL | | }
|
||||
| |_____^ the trait `Clone` is not implemented for `B`
|
||||
|
|
||||
= note: required because of the requirements on the impl of `ToOwned` for `B`
|
||||
help: consider further restricting this bound
|
||||
|
|
||||
LL | impl<B: ?Sized + std::clone::Clone> Display for Cow<'_, B> {
|
||||
| +++++++++++++++++++
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
Loading…
Reference in New Issue
Block a user