X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=crates%2Fhir_def%2Fsrc%2Fexpr.rs;h=5be838f4a7d842ae7fb45011eebadae56e5ea011;hb=1d103cf087c574f66279490ffef8c76178aea5cc;hp=76f5721e58786424ecf0b368ed5c654cb8f8b732;hpb=21f8239ac8be6093967bc91ec155782d37efcb6a;p=rust.git diff --git a/crates/hir_def/src/expr.rs b/crates/hir_def/src/expr.rs index 76f5721e587..5be838f4a7d 100644 --- a/crates/hir_def/src/expr.rs +++ b/crates/hir_def/src/expr.rs @@ -12,8 +12,8 @@ //! //! See also a neighboring `body` module. -use arena::{Idx, RawId}; use hir_expand::name::Name; +use la_arena::{Idx, RawIdx}; use syntax::ast::RangeOp; use crate::{ @@ -24,7 +24,7 @@ pub type ExprId = Idx; pub(crate) fn dummy_expr_id() -> ExprId { - ExprId::from_raw(RawId::from(!0)) + ExprId::from_raw(RawIdx::from(!0)) } pub type PatId = Idx; @@ -99,6 +99,9 @@ pub enum Expr { Return { expr: Option, }, + Yield { + expr: Option, + }, RecordLit { path: Option, fields: Vec, @@ -294,7 +297,7 @@ pub fn walk_child_exprs(&self, mut f: impl FnMut(ExprId)) { } } Expr::Continue { .. } => {} - Expr::Break { expr, .. } | Expr::Return { expr } => { + Expr::Break { expr, .. } | Expr::Return { expr } | Expr::Yield { expr } => { if let Some(expr) = expr { f(*expr); }