diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2017-04-03 16:14:05 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2017-04-11 20:32:47 -0400 |
| commit | 77d9e38e9499df1dac393937d62d3bf626c51abb (patch) | |
| tree | bb4041d98068f9add3c93dcb9b55dff611527927 | |
| parent | d1033d06bae530881415bda6972c5c8a16d07ade (diff) | |
| download | rust-77d9e38e9499df1dac393937d62d3bf626c51abb.tar.gz rust-77d9e38e9499df1dac393937d62d3bf626c51abb.zip | |
add FIXME for bivariant lub/glb
| -rw-r--r-- | src/librustc/infer/glb.rs | 1 | ||||
| -rw-r--r-- | src/librustc/infer/lub.rs | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/librustc/infer/glb.rs b/src/librustc/infer/glb.rs index 8c167e0a8ac..a6dd18c113f 100644 --- a/src/librustc/infer/glb.rs +++ b/src/librustc/infer/glb.rs @@ -49,6 +49,7 @@ impl<'combine, 'infcx, 'gcx, 'tcx> TypeRelation<'infcx, 'gcx, 'tcx> match variance { ty::Invariant => self.fields.equate(self.a_is_expected).relate(a, b), ty::Covariant => self.relate(a, b), + // FIXME(#41044) -- not correct, need test ty::Bivariant => Ok(a.clone()), ty::Contravariant => self.fields.lub(self.a_is_expected).relate(a, b), } diff --git a/src/librustc/infer/lub.rs b/src/librustc/infer/lub.rs index 28ae1ae556b..d7e5c92b6e1 100644 --- a/src/librustc/infer/lub.rs +++ b/src/librustc/infer/lub.rs @@ -49,6 +49,7 @@ impl<'combine, 'infcx, 'gcx, 'tcx> TypeRelation<'infcx, 'gcx, 'tcx> match variance { ty::Invariant => self.fields.equate(self.a_is_expected).relate(a, b), ty::Covariant => self.relate(a, b), + // FIXME(#41044) -- not correct, need test ty::Bivariant => Ok(a.clone()), ty::Contravariant => self.fields.glb(self.a_is_expected).relate(a, b), } |
