Skip to content

Commit dfe1e3b

Browse files
committed
Auto merge of #74582 - Lezzz:rename-hair, r=nikomatsakis
Rename HAIR to THIR (Typed HIR). r? @nikomatsakis Originally suggested by @eddyb
2 parents b5eae9c + 40e6dcc commit dfe1e3b

36 files changed

+128
-121
lines changed

src/librustc_middle/ty/context.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ pub struct TypeckResults<'tcx> {
352352
pat_binding_modes: ItemLocalMap<BindingMode>,
353353

354354
/// Stores the types which were implicitly dereferenced in pattern binding modes
355-
/// for later usage in HAIR lowering. For example,
355+
/// for later usage in THIR lowering. For example,
356356
///
357357
/// ```
358358
/// match &&Some(5i32) {

src/librustc_mir_build/build/block.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::build::matches::ArmHasGuard;
22
use crate::build::ForGuard::OutsideGuard;
33
use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder};
4-
use crate::hair::*;
4+
use crate::thir::*;
55
use rustc_hir as hir;
66
use rustc_middle::mir::*;
77
use rustc_session::lint::builtin::UNSAFE_OP_IN_UNSAFE_FN;
@@ -176,7 +176,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
176176
let tail_result_is_ignored =
177177
destination_ty.is_unit() || this.block_context.currently_ignores_tail_results();
178178
let span = match expr {
179-
ExprRef::Hair(expr) => expr.span,
179+
ExprRef::Thir(expr) => expr.span,
180180
ExprRef::Mirror(ref expr) => expr.span,
181181
};
182182
this.block_context.push(BlockFrame::TailExpr { tail_result_is_ignored, span });
@@ -235,11 +235,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
235235
.push_unsafe_count
236236
.checked_sub(1)
237237
.unwrap_or_else(|| span_bug!(span, "unsafe count underflow"));
238-
if self.push_unsafe_count == 0 {
239-
Some(self.unpushed_unsafe)
240-
} else {
241-
None
242-
}
238+
if self.push_unsafe_count == 0 { Some(self.unpushed_unsafe) } else { None }
243239
}
244240
};
245241

src/librustc_mir_build/build/expr/as_constant.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! See docs in build/expr/mod.rs
22
33
use crate::build::Builder;
4-
use crate::hair::*;
4+
use crate::thir::*;
55
use rustc_middle::mir::*;
66
use rustc_middle::ty::CanonicalUserTypeAnnotation;
77

src/librustc_mir_build/build/expr/as_operand.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::build::expr::category::Category;
44
use crate::build::{BlockAnd, BlockAndExtension, Builder};
5-
use crate::hair::*;
5+
use crate::thir::*;
66
use rustc_middle::middle::region;
77
use rustc_middle::mir::*;
88

src/librustc_mir_build/build/expr/as_place.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use crate::build::expr::category::Category;
44
use crate::build::ForGuard::{OutsideGuard, RefWithinGuard};
55
use crate::build::{BlockAnd, BlockAndExtension, Builder};
6-
use crate::hair::*;
6+
use crate::thir::*;
77
use rustc_middle::middle::region;
88
use rustc_middle::mir::AssertKind::BoundsCheck;
99
use rustc_middle::mir::*;

src/librustc_mir_build/build/expr/as_rvalue.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use rustc_index::vec::Idx;
44

55
use crate::build::expr::category::{Category, RvalueFunc};
66
use crate::build::{BlockAnd, BlockAndExtension, Builder};
7-
use crate::hair::*;
7+
use crate::thir::*;
88
use rustc_middle::middle::region;
99
use rustc_middle::mir::AssertKind;
1010
use rustc_middle::mir::*;

src/librustc_mir_build/build/expr/as_temp.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::build::scope::DropKind;
44
use crate::build::{BlockAnd, BlockAndExtension, Builder};
5-
use crate::hair::*;
5+
use crate::thir::*;
66
use rustc_data_structures::stack::ensure_sufficient_stack;
77
use rustc_hir as hir;
88
use rustc_middle::middle::region;
@@ -67,12 +67,14 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
6767
ExprKind::StaticRef { def_id, .. } => {
6868
assert!(!this.hir.tcx().is_thread_local_static(def_id));
6969
local_decl.internal = true;
70-
local_decl.local_info = Some(box LocalInfo::StaticRef { def_id, is_thread_local: false });
70+
local_decl.local_info =
71+
Some(box LocalInfo::StaticRef { def_id, is_thread_local: false });
7172
}
7273
ExprKind::ThreadLocalRef(def_id) => {
7374
assert!(this.hir.tcx().is_thread_local_static(def_id));
7475
local_decl.internal = true;
75-
local_decl.local_info = Some(box LocalInfo::StaticRef { def_id, is_thread_local: true });
76+
local_decl.local_info =
77+
Some(box LocalInfo::StaticRef { def_id, is_thread_local: true });
7678
}
7779
_ => {}
7880
}

src/librustc_mir_build/build/expr/category.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::hair::*;
1+
use crate::thir::*;
22

33
#[derive(Debug, PartialEq)]
44
crate enum Category {

src/librustc_mir_build/build/expr/into.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::build::expr::category::{Category, RvalueFunc};
44
use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder};
5-
use crate::hair::*;
5+
use crate::thir::*;
66
use rustc_ast::ast::InlineAsmOptions;
77
use rustc_data_structures::fx::FxHashMap;
88
use rustc_data_structures::stack::ensure_sufficient_stack;
@@ -320,23 +320,23 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
320320
block.unit()
321321
}
322322
ExprKind::InlineAsm { template, operands, options, line_spans } => {
323-
use crate::hair;
323+
use crate::thir;
324324
use rustc_middle::mir;
325325
let operands = operands
326326
.into_iter()
327327
.map(|op| match op {
328-
hair::InlineAsmOperand::In { reg, expr } => mir::InlineAsmOperand::In {
328+
thir::InlineAsmOperand::In { reg, expr } => mir::InlineAsmOperand::In {
329329
reg,
330330
value: unpack!(block = this.as_local_operand(block, expr)),
331331
},
332-
hair::InlineAsmOperand::Out { reg, late, expr } => {
332+
thir::InlineAsmOperand::Out { reg, late, expr } => {
333333
mir::InlineAsmOperand::Out {
334334
reg,
335335
late,
336336
place: expr.map(|expr| unpack!(block = this.as_place(block, expr))),
337337
}
338338
}
339-
hair::InlineAsmOperand::InOut { reg, late, expr } => {
339+
thir::InlineAsmOperand::InOut { reg, late, expr } => {
340340
let place = unpack!(block = this.as_place(block, expr));
341341
mir::InlineAsmOperand::InOut {
342342
reg,
@@ -346,7 +346,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
346346
out_place: Some(place),
347347
}
348348
}
349-
hair::InlineAsmOperand::SplitInOut { reg, late, in_expr, out_expr } => {
349+
thir::InlineAsmOperand::SplitInOut { reg, late, in_expr, out_expr } => {
350350
mir::InlineAsmOperand::InOut {
351351
reg,
352352
late,
@@ -356,13 +356,13 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
356356
}),
357357
}
358358
}
359-
hair::InlineAsmOperand::Const { expr } => mir::InlineAsmOperand::Const {
359+
thir::InlineAsmOperand::Const { expr } => mir::InlineAsmOperand::Const {
360360
value: unpack!(block = this.as_local_operand(block, expr)),
361361
},
362-
hair::InlineAsmOperand::SymFn { expr } => {
362+
thir::InlineAsmOperand::SymFn { expr } => {
363363
mir::InlineAsmOperand::SymFn { value: box this.as_constant(expr) }
364364
}
365-
hair::InlineAsmOperand::SymStatic { def_id } => {
365+
thir::InlineAsmOperand::SymStatic { def_id } => {
366366
mir::InlineAsmOperand::SymStatic { def_id }
367367
}
368368
})

src/librustc_mir_build/build/expr/stmt.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
use crate::build::scope::BreakableTarget;
22
use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder};
3-
use crate::hair::*;
3+
use crate::thir::*;
44
use rustc_middle::middle::region;
55
use rustc_middle::mir::*;
66

77
impl<'a, 'tcx> Builder<'a, 'tcx> {
8-
/// Builds a block of MIR statements to evaluate the HAIR `expr`.
8+
/// Builds a block of MIR statements to evaluate the THIR `expr`.
99
/// If the original expression was an AST statement,
1010
/// (e.g., `some().code(&here());`) then `opt_stmt_span` is the
1111
/// span of that statement (including its semicolon, if any).
@@ -150,8 +150,10 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
150150
break;
151151
}
152152
}
153-
this.block_context
154-
.push(BlockFrame::TailExpr { tail_result_is_ignored: true, span: expr.span });
153+
this.block_context.push(BlockFrame::TailExpr {
154+
tail_result_is_ignored: true,
155+
span: expr.span,
156+
});
155157
return Some(expr.span);
156158
}
157159
}

src/librustc_mir_build/build/into.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
//! latter `EvalInto` trait.
66
77
use crate::build::{BlockAnd, Builder};
8-
use crate::hair::*;
8+
use crate::thir::*;
99
use rustc_middle::mir::*;
1010

1111
pub(in crate::build) trait EvalInto<'tcx> {

src/librustc_mir_build/build/matches/mod.rs

+23-16
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,18 @@ use crate::build::scope::DropKind;
99
use crate::build::ForGuard::{self, OutsideGuard, RefWithinGuard};
1010
use crate::build::{BlockAnd, BlockAndExtension, Builder};
1111
use crate::build::{GuardFrame, GuardFrameLocal, LocalsForNode};
12-
use crate::hair::{self, *};
13-
use rustc_data_structures::{fx::{FxHashMap, FxHashSet}, stack::ensure_sufficient_stack};
12+
use crate::thir::{self, *};
13+
use rustc_data_structures::{
14+
fx::{FxHashMap, FxHashSet},
15+
stack::ensure_sufficient_stack,
16+
};
1417
use rustc_hir::HirId;
1518
use rustc_index::bit_set::BitSet;
1619
use rustc_middle::middle::region;
1720
use rustc_middle::mir::*;
1821
use rustc_middle::ty::{self, CanonicalUserTypeAnnotation, Ty};
19-
use rustc_span::Span;
2022
use rustc_span::symbol::Symbol;
23+
use rustc_span::Span;
2124
use rustc_target::abi::VariantIdx;
2225
use smallvec::{smallvec, SmallVec};
2326

@@ -395,7 +398,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
395398
..
396399
},
397400
ascription:
398-
hair::pattern::Ascription { user_ty: pat_ascription_ty, variance: _, user_ty_span },
401+
thir::pattern::Ascription { user_ty: pat_ascription_ty, variance: _, user_ty_span },
399402
} => {
400403
let place =
401404
self.storage_live_binding(block, var, irrefutable_pat.span, OutsideGuard, true);
@@ -631,7 +634,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
631634

632635
PatKind::AscribeUserType {
633636
ref subpattern,
634-
ascription: hair::pattern::Ascription { ref user_ty, user_ty_span, variance: _ },
637+
ascription: thir::pattern::Ascription { ref user_ty, user_ty_span, variance: _ },
635638
} => {
636639
// This corresponds to something like
637640
//
@@ -1982,16 +1985,18 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
19821985
source_info,
19831986
internal: false,
19841987
is_block_tail: None,
1985-
local_info: Some(box LocalInfo::User(ClearCrossCrate::Set(BindingForm::Var(VarBindingForm {
1986-
binding_mode,
1987-
// hypothetically, `visit_primary_bindings` could try to unzip
1988-
// an outermost hir::Ty as we descend, matching up
1989-
// idents in pat; but complex w/ unclear UI payoff.
1990-
// Instead, just abandon providing diagnostic info.
1991-
opt_ty_info: None,
1992-
opt_match_place,
1993-
pat_span,
1994-
})))),
1988+
local_info: Some(box LocalInfo::User(ClearCrossCrate::Set(BindingForm::Var(
1989+
VarBindingForm {
1990+
binding_mode,
1991+
// hypothetically, `visit_primary_bindings` could try to unzip
1992+
// an outermost hir::Ty as we descend, matching up
1993+
// idents in pat; but complex w/ unclear UI payoff.
1994+
// Instead, just abandon providing diagnostic info.
1995+
opt_ty_info: None,
1996+
opt_match_place,
1997+
pat_span,
1998+
},
1999+
)))),
19952000
};
19962001
let for_arm_body = self.local_decls.push(local);
19972002
self.var_debug_info.push(VarDebugInfo {
@@ -2009,7 +2014,9 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
20092014
source_info,
20102015
internal: false,
20112016
is_block_tail: None,
2012-
local_info: Some(box LocalInfo::User(ClearCrossCrate::Set(BindingForm::RefForGuard))),
2017+
local_info: Some(box LocalInfo::User(ClearCrossCrate::Set(
2018+
BindingForm::RefForGuard,
2019+
))),
20132020
});
20142021
self.var_debug_info.push(VarDebugInfo {
20152022
name,

src/librustc_mir_build/build/matches/simplify.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
1515
use crate::build::matches::{Ascription, Binding, Candidate, MatchPair};
1616
use crate::build::Builder;
17-
use crate::hair::{self, *};
17+
use crate::thir::{self, *};
1818
use rustc_attr::{SignedInt, UnsignedInt};
1919
use rustc_hir::RangeEnd;
2020
use rustc_middle::mir::interpret::truncate;
@@ -108,7 +108,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
108108
match *match_pair.pattern.kind {
109109
PatKind::AscribeUserType {
110110
ref subpattern,
111-
ascription: hair::pattern::Ascription { variance, user_ty, user_ty_span },
111+
ascription: thir::pattern::Ascription { variance, user_ty, user_ty_span },
112112
} => {
113113
// Apply the type ascription to the value at `match_pair.place`, which is the
114114
// value being matched, taking the variance field into account.

src/librustc_mir_build/build/matches/test.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
use crate::build::matches::{Candidate, MatchPair, Test, TestKind};
99
use crate::build::Builder;
10-
use crate::hair::pattern::compare_const_vals;
11-
use crate::hair::*;
10+
use crate::thir::pattern::compare_const_vals;
11+
use crate::thir::*;
1212
use rustc_data_structures::fx::FxHashMap;
1313
use rustc_hir::RangeEnd;
1414
use rustc_index::bit_set::BitSet;
@@ -443,7 +443,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
443443
destination: Some((eq_result, eq_block)),
444444
cleanup: Some(cleanup),
445445
from_hir_call: false,
446-
fn_span: source_info.span
446+
fn_span: source_info.span,
447447
},
448448
);
449449

src/librustc_mir_build/build/matches/util.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::build::matches::MatchPair;
22
use crate::build::Builder;
3-
use crate::hair::*;
3+
use crate::thir::*;
44
use rustc_middle::mir::*;
55
use rustc_middle::ty;
66
use smallvec::SmallVec;

src/librustc_mir_build/build/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::build;
22
use crate::build::scope::DropKind;
3-
use crate::hair::cx::Cx;
4-
use crate::hair::{BindingMode, LintLevel, PatKind};
3+
use crate::thir::cx::Cx;
4+
use crate::thir::{BindingMode, LintLevel, PatKind};
55
use rustc_attr::{self as attr, UnwindAttr};
66
use rustc_errors::ErrorReported;
77
use rustc_hir as hir;
@@ -294,7 +294,7 @@ struct Builder<'a, 'tcx> {
294294
/// see the `scope` module for more details.
295295
scopes: scope::Scopes<'tcx>,
296296

297-
/// The block-context: each time we build the code within an hair::Block,
297+
/// The block-context: each time we build the code within an thir::Block,
298298
/// we push a frame here tracking whether we are building a statement or
299299
/// if we are pushing the tail expression of the block. This is used to
300300
/// embed information in generated temps about whether they were created

src/librustc_mir_build/build/scope.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*!
22
Managing the scope stack. The scopes are tied to lexical scopes, so as
3-
we descend the HAIR, we push a scope on the stack, build its
3+
we descend the THIR, we push a scope on the stack, build its
44
contents, and then pop it off. Every scope is named by a
55
`region::Scope`.
66
@@ -83,12 +83,12 @@ should go to.
8383
*/
8484

8585
use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder, CFG};
86-
use crate::hair::{Expr, ExprRef, LintLevel};
87-
use rustc_middle::middle::region;
88-
use rustc_middle::mir::*;
86+
use crate::thir::{Expr, ExprRef, LintLevel};
8987
use rustc_data_structures::fx::FxHashMap;
9088
use rustc_hir as hir;
9189
use rustc_hir::GeneratorKind;
90+
use rustc_middle::middle::region;
91+
use rustc_middle::mir::*;
9292
use rustc_span::{Span, DUMMY_SP};
9393
use std::collections::hash_map::Entry;
9494
use std::mem;

src/librustc_mir_build/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ extern crate log;
1717
extern crate rustc_middle;
1818

1919
mod build;
20-
mod hair;
2120
mod lints;
21+
mod thir;
2222

2323
use rustc_middle::ty::query::Providers;
2424

2525
pub fn provide(providers: &mut Providers) {
26-
providers.check_match = hair::pattern::check_match;
27-
providers.lit_to_const = hair::constant::lit_to_const;
26+
providers.check_match = thir::pattern::check_match;
27+
providers.lit_to_const = thir::constant::lit_to_const;
2828
providers.mir_built = build::mir_built;
2929
}

0 commit comments

Comments
 (0)