From 0276d7a32e1c83abc3106f7b36b711faf1f74dff Mon Sep 17 00:00:00 2001 From: varkor Date: Sun, 9 Feb 2020 01:51:13 +0000 Subject: [PATCH] Add more tests --- .../infer-binary-operand-behind-reference.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/test/ui/inference/infer-binary-operand-behind-reference.rs b/src/test/ui/inference/infer-binary-operand-behind-reference.rs index 4e41077ba34..0c0a3171ee9 100644 --- a/src/test/ui/inference/infer-binary-operand-behind-reference.rs +++ b/src/test/ui/inference/infer-binary-operand-behind-reference.rs @@ -1,6 +1,8 @@ // check-pass fn main() { + // Test that we can infer the type of binary operands when + // references are involved, on various types and operators. let _: u8 = 0 + 0; let _: u8 = 0 + &0; let _: u8 = &0 + 0; @@ -10,4 +12,19 @@ fn main() { let _: f32 = 0.0 + &0.0; let _: f32 = &0.0 + 0.0; let _: f32 = &0.0 + &0.0; + + let _: u8 = 0 << 0; + let _: u8 = 0 << &0; + let _: u8 = &0 << 0; + let _: u8 = &0 << &0; + + // Test type inference when variable types are indirectly inferred. + let a = 22; + let _: usize = a + &44; + + // When we have no expected type, the types of the operands is the default type. + let _ = 0 + 0; + let _ = 0 + &0; + let _ = &0 + 0; + let _ = &0 + &0; } -- 2.44.0