From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/nll/relate_tys/var-appears-twice.rs | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 src/test/ui/nll/relate_tys/var-appears-twice.rs (limited to 'src/test/ui/nll/relate_tys/var-appears-twice.rs') diff --git a/src/test/ui/nll/relate_tys/var-appears-twice.rs b/src/test/ui/nll/relate_tys/var-appears-twice.rs deleted file mode 100644 index 77129f446..000000000 --- a/src/test/ui/nll/relate_tys/var-appears-twice.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Test that the NLL `relate_tys` code correctly deduces that a -// function returning always its first argument can be upcast to one -// that returns either first or second argument. - -use std::cell::Cell; - -type DoubleCell = Cell<(A, A)>; -type DoublePair = (A, A); - -fn make_cell<'b>(x: &'b u32) -> Cell<(&'static u32, &'b u32)> { - panic!() -} - -fn main() { - let a: &'static u32 = &22; - let b = 44; - - // Here we get an error because `DoubleCell<_>` requires the same type - // on both parts of the `Cell`, and we can't have that. - let x: DoubleCell<_> = make_cell(&b); //~ ERROR - - // Here we do not get an error because `DoublePair<_>` permits - // variance on the lifetimes involved. - let y: DoublePair<_> = make_cell(&b).get(); -} -- cgit v1.2.3