binary operator overload type inference: add test mark

This commit is contained in:
Roland Ruckerbauer 2020-10-14 19:00:04 +02:00
parent 4e49b2f731
commit 0e9d1e17d6
2 changed files with 6 additions and 0 deletions

View File

@ -12,6 +12,7 @@ use hir_def::{
};
use hir_expand::name::{name, Name};
use syntax::ast::RangeOp;
use test_utils::mark;
use crate::{
autoderef, method_resolution, op,
@ -537,6 +538,8 @@ impl<'a> InferenceContext<'a> {
let ret = op::binary_op_return_ty(*op, lhs_ty.clone(), rhs_ty.clone());
if ret == Ty::Unknown {
mark::hit!(infer_expr_inner_binary_operator_overload);
self.resolve_associated_type_with_params(
lhs_ty,
self.resolve_binary_op_output(op),

View File

@ -1,4 +1,5 @@
use expect_test::expect;
use test_utils::mark;
use super::{check_infer, check_types};
@ -2228,6 +2229,8 @@ fn generic_default_depending_on_other_type_arg_forward() {
#[test]
fn infer_operator_overload() {
mark::check!(infer_expr_inner_binary_operator_overload);
check_infer(
r#"
struct V2([f32; 2]);