]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/type-alias-impl-trait/issue-60564.rs
1 #![feature(type_alias_impl_trait)]
4 type BitsIter
: Iterator
<Item
= u8>;
5 fn iter_bits(self, n
: u8) -> Self::BitsIter
;
8 type IterBitsIter
<T
, E
, I
> = impl std
::iter
::Iterator
<Item
= I
>;
9 //~^ ERROR could not find defining uses
11 impl<T
, E
> IterBits
for T
13 T
: std
::ops
::Shr
<Output
= T
>
14 + std
::ops
::BitAnd
<T
, Output
= T
>
15 + std
::convert
::From
<u8>
16 + std
::convert
::TryInto
<u8, Error
= E
>,
19 type BitsIter
= IterBitsIter
<T
, E
, u8>;
20 fn iter_bits(self, n
: u8) -> Self::BitsIter
{
21 //~^ ERROR defining opaque type use does not fully define opaque type
24 .map(move |shift
| ((self >> T
::from(shift
)) & T
::from(1)).try_into().unwrap())