rapx/analysis/core/alias_analysis/default/
assign.rs1use rustc_middle::mir::Place;
2use rustc_span::Span;
3
4#[derive(PartialEq, Debug, Copy, Clone)]
5pub enum AssignType {
6 Copy,
7 Move,
8 InitBox,
9 Variant,
10}
11
12#[derive(Debug, Clone)]
14pub struct Assignment<'tcx> {
15 pub lv: Place<'tcx>,
16 pub rv: Place<'tcx>,
17 pub atype: AssignType,
18 pub span: Span,
19}
20
21impl<'tcx> Assignment<'tcx> {
22 pub fn new(
23 lv: Place<'tcx>,
24 rv: Place<'tcx>,
25 atype: AssignType,
26 span: Span,
27 ) -> Assignment<'tcx> {
28 Assignment {
29 lv,
30 rv,
31 atype,
32 span,
33 }
34 }
35}