]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/issues/issue-48551.rs
2 // Regression test for #48551. Covers a case where duplicate candidates
3 // arose during associated type projection.
5 use std
::ops
::{Mul, MulAssign}
;
7 pub trait ClosedMul
<Right
>: Sized
+ Mul
<Right
, Output
= Self> + MulAssign
<Right
> {}
8 impl<T
, Right
> ClosedMul
<Right
> for T
10 T
: Mul
<Right
, Output
= T
> + MulAssign
<Right
>,
14 pub trait InnerSpace
: ClosedMul
<<Self as InnerSpace
>::Real
> {
18 pub trait FiniteDimVectorSpace
: ClosedMul
<<Self as FiniteDimVectorSpace
>::Field
> {
22 pub trait FiniteDimInnerSpace
23 : InnerSpace
+ FiniteDimVectorSpace
<Field
= <Self as InnerSpace
>::Real
> {
26 pub trait EuclideanSpace
: ClosedMul
<<Self as EuclideanSpace
>::Real
> {
27 type Coordinates
: FiniteDimInnerSpace
<Real
= Self::Real
>
28 + Mul
<Self::Real
, Output
= Self::Coordinates
>
29 + MulAssign
<Self::Real
>;