tests
This commit is contained in:
parent
cbf91532a7
commit
3215403dde
@ -6,7 +6,6 @@ LL | let _result = &Some(42).as_deref();
|
||||
|
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`{integer}: Deref`
|
||||
`<{integer} as Deref>::Target = _`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -6,7 +6,7 @@ LL | let _result = &mut Some(42).as_deref_mut();
|
||||
|
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`{integer}: DerefMut`
|
||||
`<{integer} as Deref>::Target = _`
|
||||
`{integer}: Deref`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -6,7 +6,6 @@ LL | let _result = &Ok(42).as_deref();
|
||||
|
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`{integer}: Deref`
|
||||
`<{integer} as Deref>::Target = _`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -6,7 +6,7 @@ LL | let _result = &mut Ok(42).as_deref_mut();
|
||||
|
|
||||
= note: the following trait bounds were not satisfied:
|
||||
`{integer}: DerefMut`
|
||||
`<{integer} as Deref>::Target = _`
|
||||
`{integer}: Deref`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
37
src/test/ui/resolve/issue-85671.rs
Normal file
37
src/test/ui/resolve/issue-85671.rs
Normal file
@ -0,0 +1,37 @@
|
||||
// check-pass
|
||||
|
||||
// Some trait with a function that returns a slice:
|
||||
pub trait AsSlice {
|
||||
type Element;
|
||||
fn as_slice(&self) -> &[Self::Element];
|
||||
}
|
||||
|
||||
// Some type
|
||||
pub struct A<Cont>(Cont);
|
||||
|
||||
// Here we say that if A wraps a slice, then it implements AsSlice
|
||||
impl<'a, Element> AsSlice for A<&'a [Element]> {
|
||||
type Element = Element;
|
||||
fn as_slice(&self) -> &[Self::Element] {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl<Cont> A<Cont> {
|
||||
// We want this function to work
|
||||
pub fn failing<Coef>(&self)
|
||||
where
|
||||
Self: AsSlice<Element = Coef>,
|
||||
{
|
||||
self.as_ref_a().as_ref_a();
|
||||
}
|
||||
|
||||
pub fn as_ref_a<Coef>(&self) -> A<&[<Self as AsSlice>::Element]>
|
||||
where
|
||||
Self: AsSlice<Element = Coef>,
|
||||
{
|
||||
A(self.as_slice())
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
Loading…
x
Reference in New Issue
Block a user