expr::{Array, BinaryOp, Expr, ExprId, Literal, Statement, UnaryOp},
path::{GenericArg, GenericArgs},
resolver::resolver_for_expr,
+ type_ref::ConstScalar,
AssocContainerId, FieldId, Lookup,
};
use hir_expand::name::{name, Name};
use syntax::ast::RangeOp;
use crate::{
- autoderef,
- consts::ConstScalar,
- dummy_usize_const,
+ autoderef, dummy_usize_const,
lower::lower_to_chalk_mutability,
mapping::from_chalk,
method_resolution, op,
TyKind::Scalar(Scalar::Uint(UintTy::Usize)).intern(&Interner),
),
);
- // FIXME: support length for Repeat array expressions
+ // FIXME: we don't know the length here because hir Exprs don't actually
+ // get the value out of the AST, even though it is there.
None
}
};
let ty = self.resolve_ty_as_possible(ty);
self.infer_pat(*pat, &ty, BindingMode::default());
}
- Statement::Expr(expr) => {
+ Statement::Expr { expr, .. } => {
self.infer_expr(*expr, &Expectation::none());
}
}