Skip to content

Commit db75f8a

Browse files
committed
Move infer out of middle::typeck and into just middle.
1 parent 7c44561 commit db75f8a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+126
-120
lines changed

src/librustc/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ pub mod middle {
7979
pub mod fast_reject;
8080
pub mod graph;
8181
pub mod intrinsicck;
82+
pub mod infer;
8283
pub mod lang_items;
8384
pub mod liveness;
8485
pub mod mem_categorization;

src/librustc/lint/builtin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ use self::MethodContext::*;
2828

2929
use metadata::csearch;
3030
use middle::def::*;
31+
use middle::infer;
3132
use middle::ty::{mod, Ty};
3233
use middle::typeck::astconv::ast_ty_to_ty;
33-
use middle::typeck::infer;
3434
use middle::{def, pat_util, stability};
3535
use middle::const_eval::{eval_const_expr_partial, const_int, const_uint};
3636
use util::ppaux::{ty_to_string};

src/librustc/lint/context.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
//! for all lint attributes.
2626
use self::TargetLint::*;
2727

28+
use middle::infer;
2829
use middle::privacy::ExportedItems;
2930
use middle::subst;
3031
use middle::ty::{mod, Ty};
3132
use middle::typeck::astconv::AstConv;
32-
use middle::typeck::infer;
3333
use session::{early_error, Session};
3434
use lint::{Level, LevelSource, Lint, LintId, LintArray, LintPass, LintPassObject};
3535
use lint::{Default, CommandLine, Node, Allow, Warn, Deny, Forbid};

src/librustc/middle/check_static.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use self::Mode::*;
2727

2828
use middle::ty;
2929
use middle::def;
30-
use middle::typeck;
30+
use middle::infer;
3131
use middle::traits;
3232
use middle::mem_categorization as mc;
3333
use middle::expr_use_visitor as euv;
@@ -113,7 +113,7 @@ impl<'a, 'tcx> CheckStaticVisitor<'a, 'tcx> {
113113

114114
fn check_static_type(&self, e: &ast::Expr) {
115115
let ty = ty::node_id_to_type(self.tcx, e.id);
116-
let infcx = typeck::infer::new_infer_ctxt(self.tcx);
116+
let infcx = infer::new_infer_ctxt(self.tcx);
117117
let mut fulfill_cx = traits::FulfillmentContext::new();
118118
let cause = traits::ObligationCause::misc(DUMMY_SP);
119119
let obligation = traits::obligation_for_builtin_bound(self.tcx, cause, ty,

src/librustc/middle/typeck/infer/coercion.rs renamed to src/librustc/middle/infer/coercion.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,15 @@
6060
//! sort of a minor point so I've opted to leave it for later---after all
6161
//! we may want to adjust precisely when coercions occur.
6262
63+
use super::{CoerceResult, resolve_type, Coercion};
64+
use super::combine::{CombineFields, Combine};
65+
use super::sub::Sub;
66+
use super::resolve::try_resolve_tvar_shallow;
67+
6368
use middle::subst;
6469
use middle::ty::{AutoPtr, AutoDerefRef, AdjustDerefRef, AutoUnsize, AutoUnsafe};
6570
use middle::ty::{mt};
6671
use middle::ty::{mod, Ty};
67-
use middle::typeck::infer::{CoerceResult, resolve_type, Coercion};
68-
use middle::typeck::infer::combine::{CombineFields, Combine};
69-
use middle::typeck::infer::sub::Sub;
70-
use middle::typeck::infer::resolve::try_resolve_tvar_shallow;
7172
use util::ppaux;
7273
use util::ppaux::Repr;
7374

src/librustc/middle/typeck/infer/combine.rs renamed to src/librustc/middle/infer/combine.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@
3232
// is also useful to track which value is the "expected" value in
3333
// terms of error reporting.
3434

35+
use super::equate::Equate;
36+
use super::glb::Glb;
37+
use super::lub::Lub;
38+
use super::sub::Sub;
39+
use super::unify::InferCtxtMethodsForSimplyUnifiableTypes;
40+
use super::{InferCtxt, cres};
41+
use super::{MiscVariable, TypeTrace};
42+
use super::type_variable::{RelationDir, EqTo, SubtypeOf, SupertypeOf};
3543

3644
use middle::subst;
3745
use middle::subst::{ErasedRegions, NonerasedRegions, Substs};
@@ -40,15 +48,6 @@ use middle::ty::{IntType, UintType};
4048
use middle::ty::{BuiltinBounds};
4149
use middle::ty::{mod, Ty};
4250
use middle::ty_fold;
43-
use middle::typeck::infer::equate::Equate;
44-
use middle::typeck::infer::glb::Glb;
45-
use middle::typeck::infer::lub::Lub;
46-
use middle::typeck::infer::sub::Sub;
47-
use middle::typeck::infer::unify::InferCtxtMethodsForSimplyUnifiableTypes;
48-
use middle::typeck::infer::{InferCtxt, cres};
49-
use middle::typeck::infer::{MiscVariable, TypeTrace};
50-
use middle::typeck::infer::type_variable::{RelationDir, EqTo,
51-
SubtypeOf, SupertypeOf};
5251
use middle::ty_fold::{TypeFoldable};
5352
use util::ppaux::Repr;
5453

src/librustc/middle/typeck/infer/equate.rs renamed to src/librustc/middle/infer/equate.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
use middle::ty::{BuiltinBounds};
1212
use middle::ty::{mod, Ty};
1313
use middle::ty::TyVar;
14-
use middle::typeck::infer::combine::*;
15-
use middle::typeck::infer::{cres};
16-
use middle::typeck::infer::glb::Glb;
17-
use middle::typeck::infer::InferCtxt;
18-
use middle::typeck::infer::lub::Lub;
19-
use middle::typeck::infer::sub::Sub;
20-
use middle::typeck::infer::{TypeTrace, Subtype};
21-
use middle::typeck::infer::type_variable::{EqTo};
14+
use middle::infer::combine::*;
15+
use middle::infer::{cres};
16+
use middle::infer::glb::Glb;
17+
use middle::infer::InferCtxt;
18+
use middle::infer::lub::Lub;
19+
use middle::infer::sub::Sub;
20+
use middle::infer::{TypeTrace, Subtype};
21+
use middle::infer::type_variable::{EqTo};
2222
use util::ppaux::{Repr};
2323

2424
use syntax::ast::{Onceness, FnStyle};

src/librustc/middle/typeck/infer/error_reporting.rs renamed to src/librustc/middle/infer/error_reporting.rs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,24 +57,25 @@
5757
5858
use self::FreshOrKept::*;
5959

60+
use super::InferCtxt;
61+
use super::TypeTrace;
62+
use super::SubregionOrigin;
63+
use super::RegionVariableOrigin;
64+
use super::ValuePairs;
65+
use super::region_inference::RegionResolutionError;
66+
use super::region_inference::ConcreteFailure;
67+
use super::region_inference::SubSupConflict;
68+
use super::region_inference::SupSupConflict;
69+
use super::region_inference::ParamBoundFailure;
70+
use super::region_inference::ProcessedErrors;
71+
use super::region_inference::SameRegions;
72+
6073
use std::collections::HashSet;
6174
use middle::def;
75+
use middle::infer;
6276
use middle::subst;
6377
use middle::ty::{mod, Ty};
6478
use middle::ty::{Region, ReFree};
65-
use middle::typeck::infer;
66-
use middle::typeck::infer::InferCtxt;
67-
use middle::typeck::infer::TypeTrace;
68-
use middle::typeck::infer::SubregionOrigin;
69-
use middle::typeck::infer::RegionVariableOrigin;
70-
use middle::typeck::infer::ValuePairs;
71-
use middle::typeck::infer::region_inference::RegionResolutionError;
72-
use middle::typeck::infer::region_inference::ConcreteFailure;
73-
use middle::typeck::infer::region_inference::SubSupConflict;
74-
use middle::typeck::infer::region_inference::SupSupConflict;
75-
use middle::typeck::infer::region_inference::ParamBoundFailure;
76-
use middle::typeck::infer::region_inference::ProcessedErrors;
77-
use middle::typeck::infer::region_inference::SameRegions;
7879
use std::cell::{Cell, RefCell};
7980
use std::char::from_u32;
8081
use std::rc::Rc;

src/librustc/middle/typeck/infer/glb.rs renamed to src/librustc/middle/infer/glb.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
use super::combine::*;
12+
use super::lattice::*;
13+
use super::equate::Equate;
14+
use super::higher_ranked::HigherRankedRelations;
15+
use super::lub::Lub;
16+
use super::sub::Sub;
17+
use super::{cres, InferCtxt};
18+
use super::{TypeTrace, Subtype};
1119

1220
use middle::ty::{BuiltinBounds};
1321
use middle::ty::{mod, Ty};
14-
use middle::typeck::infer::combine::*;
15-
use middle::typeck::infer::lattice::*;
16-
use middle::typeck::infer::equate::Equate;
17-
use middle::typeck::infer::higher_ranked::HigherRankedRelations;
18-
use middle::typeck::infer::lub::Lub;
19-
use middle::typeck::infer::sub::Sub;
20-
use middle::typeck::infer::{cres, InferCtxt};
21-
use middle::typeck::infer::{TypeTrace, Subtype};
2222
use syntax::ast::{Many, Once, MutImmutable, MutMutable};
2323
use syntax::ast::{NormalFn, UnsafeFn};
2424
use syntax::ast::{Onceness, FnStyle};

src/librustc/middle/typeck/infer/higher_ranked/mod.rs renamed to src/librustc/middle/infer/higher_ranked/mod.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@
1111
//! Helper routines for higher-ranked things. See the `doc` module at
1212
//! the end of the file for details.
1313
14+
use super::{combine, cres, InferCtxt, HigherRankedType};
15+
use super::combine::Combine;
16+
use super::region_inference::{RegionMark};
17+
1418
use middle::ty::{mod, Ty, replace_late_bound_regions};
15-
use middle::typeck::infer::{mod, combine, cres, InferCtxt};
16-
use middle::typeck::infer::combine::Combine;
17-
use middle::typeck::infer::region_inference::{RegionMark};
1819
use middle::ty_fold::{mod, HigherRankedFoldable, TypeFoldable};
1920
use syntax::codemap::Span;
2021
use util::nodemap::FnvHashMap;
@@ -62,7 +63,7 @@ impl<'tcx,C> HigherRankedRelations<'tcx> for C
6263
let (a_prime, _) =
6364
self.infcx().replace_late_bound_regions_with_fresh_var(
6465
self.trace().origin.span(),
65-
infer::HigherRankedType,
66+
HigherRankedType,
6667
a);
6768

6869
// Second, we instantiate each bound region in the supertype with a
@@ -131,10 +132,10 @@ impl<'tcx,C> HigherRankedRelations<'tcx> for C
131132
let span = self.trace().origin.span();
132133
let (a_with_fresh, a_map) =
133134
self.infcx().replace_late_bound_regions_with_fresh_var(
134-
span, infer::HigherRankedType, a);
135+
span, HigherRankedType, a);
135136
let (b_with_fresh, _) =
136137
self.infcx().replace_late_bound_regions_with_fresh_var(
137-
span, infer::HigherRankedType, b);
138+
span, HigherRankedType, b);
138139

139140
// Collect constraints.
140141
let result0 =
@@ -221,10 +222,10 @@ impl<'tcx,C> HigherRankedRelations<'tcx> for C
221222
// Instantiate each bound region with a fresh region variable.
222223
let (a_with_fresh, a_map) =
223224
self.infcx().replace_late_bound_regions_with_fresh_var(
224-
self.trace().origin.span(), infer::HigherRankedType, a);
225+
self.trace().origin.span(), HigherRankedType, a);
225226
let (b_with_fresh, b_map) =
226227
self.infcx().replace_late_bound_regions_with_fresh_var(
227-
self.trace().origin.span(), infer::HigherRankedType, b);
228+
self.trace().origin.span(), HigherRankedType, b);
228229
let a_vars = var_ids(self, &a_map);
229230
let b_vars = var_ids(self, &b_map);
230231

src/librustc/middle/typeck/infer/lattice.rs renamed to src/librustc/middle/infer/lattice.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@
2929
//! over a `LatticeValue`, which is a value defined with respect to
3030
//! a lattice.
3131
32+
use super::*;
33+
use super::combine::*;
34+
use super::glb::Glb;
35+
use super::lub::Lub;
36+
3237
use middle::ty::{TyVar};
3338
use middle::ty::{mod, Ty};
34-
use middle::typeck::infer::*;
35-
use middle::typeck::infer::combine::*;
36-
use middle::typeck::infer::glb::Glb;
37-
use middle::typeck::infer::lub::Lub;
3839
use util::ppaux::Repr;
3940

4041
pub trait LatticeDir<'tcx> {

src/librustc/middle/typeck/infer/lub.rs renamed to src/librustc/middle/infer/lub.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
use super::combine::*;
12+
use super::equate::Equate;
13+
use super::glb::Glb;
14+
use super::higher_ranked::HigherRankedRelations;
15+
use super::lattice::*;
16+
use super::sub::Sub;
17+
use super::{cres, InferCtxt};
18+
use super::{TypeTrace, Subtype};
19+
1120
use middle::ty::{BuiltinBounds};
1221
use middle::ty::{mod, Ty};
13-
use middle::typeck::infer::combine::*;
14-
use middle::typeck::infer::equate::Equate;
15-
use middle::typeck::infer::glb::Glb;
16-
use middle::typeck::infer::higher_ranked::HigherRankedRelations;
17-
use middle::typeck::infer::lattice::*;
18-
use middle::typeck::infer::sub::Sub;
19-
use middle::typeck::infer::{cres, InferCtxt};
20-
use middle::typeck::infer::{TypeTrace, Subtype};
2122
use syntax::ast::{Many, Once};
2223
use syntax::ast::{NormalFn, UnsafeFn};
2324
use syntax::ast::{Onceness, FnStyle};

src/librustc/middle/typeck/infer/region_inference/mod.rs renamed to src/librustc/middle/infer/region_inference/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ pub use self::RegionResolutionError::*;
1818
pub use self::VarValue::*;
1919
use self::Classification::*;
2020

21+
use super::cres;
22+
use super::{RegionVariableOrigin, SubregionOrigin, TypeTrace, MiscVariable};
23+
2124
use middle::region;
2225
use middle::ty;
2326
use middle::ty::{BoundRegion, FreeRegion, Region, RegionVid};
2427
use middle::ty::{ReEmpty, ReStatic, ReInfer, ReFree, ReEarlyBound};
2528
use middle::ty::{ReLateBound, ReScope, ReVar, ReSkolemized, BrFresh};
26-
use middle::typeck::infer::cres;
27-
use middle::typeck::infer::{RegionVariableOrigin, SubregionOrigin, TypeTrace};
28-
use middle::typeck::infer;
2929
use middle::graph;
3030
use middle::graph::{Direction, NodeIndex};
3131
use util::common::indenter;
@@ -573,7 +573,7 @@ impl<'a, 'tcx> RegionVarBindings<'a, 'tcx> {
573573
}
574574
None => {}
575575
}
576-
let c = self.new_region_var(infer::MiscVariable(origin.span()));
576+
let c = self.new_region_var(MiscVariable(origin.span()));
577577
self.combine_map(t).borrow_mut().insert(vars, c);
578578
if self.in_snapshot() {
579579
self.undo_log.borrow_mut().push(AddCombination(t, vars));

src/librustc/middle/typeck/infer/resolve.rs renamed to src/librustc/middle/infer/resolve.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,13 @@
4848

4949
#![allow(non_upper_case_globals)]
5050

51+
use super::{fixup_err, fres, InferCtxt};
52+
use super::{unresolved_int_ty,unresolved_float_ty,unresolved_ty};
53+
5154
use middle::ty::{FloatVar, FloatVid, IntVar, IntVid, RegionVid, TyVar, TyVid};
5255
use middle::ty::{IntType, UintType};
5356
use middle::ty::{mod, Ty};
5457
use middle::ty_fold;
55-
use middle::typeck::infer::{fixup_err, fres, InferCtxt};
56-
use middle::typeck::infer::{unresolved_int_ty,unresolved_float_ty,unresolved_ty};
5758
use syntax::codemap::Span;
5859
use util::ppaux::{Repr, ty_to_string};
5960

src/librustc/middle/typeck/infer/sub.rs renamed to src/librustc/middle/infer/sub.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
use super::combine::*;
12+
use super::{cres, CresCompare};
13+
use super::equate::Equate;
14+
use super::glb::Glb;
15+
use super::higher_ranked::HigherRankedRelations;
16+
use super::InferCtxt;
17+
use super::lub::Lub;
18+
use super::{TypeTrace, Subtype};
19+
use super::type_variable::{SubtypeOf, SupertypeOf};
1120

1221
use middle::ty::{BuiltinBounds};
1322
use middle::ty::{mod, Ty};
1423
use middle::ty::TyVar;
15-
use middle::typeck::infer::combine::*;
16-
use middle::typeck::infer::{cres, CresCompare};
17-
use middle::typeck::infer::equate::Equate;
18-
use middle::typeck::infer::glb::Glb;
19-
use middle::typeck::infer::higher_ranked::HigherRankedRelations;
20-
use middle::typeck::infer::InferCtxt;
21-
use middle::typeck::infer::lub::Lub;
22-
use middle::typeck::infer::{TypeTrace, Subtype};
23-
use middle::typeck::infer::type_variable::{SubtypeOf, SupertypeOf};
2424
use util::ppaux::{Repr};
2525

2626
use syntax::ast::{Onceness, FnStyle, MutImmutable, MutMutable};

src/librustc/middle/typeck/infer/unify.rs renamed to src/librustc/middle/infer/unify.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ use std::kinds::marker;
1414

1515
use middle::ty::{expected_found, IntVarValue};
1616
use middle::ty::{mod, Ty};
17-
use middle::typeck::infer::{uok, ures};
18-
use middle::typeck::infer::InferCtxt;
17+
use middle::infer::{uok, ures};
18+
use middle::infer::InferCtxt;
1919
use std::cell::RefCell;
2020
use std::fmt::Show;
2121
use syntax::ast;

src/librustc/middle/traits/coherence.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use super::util;
1717
use middle::subst;
1818
use middle::subst::Subst;
1919
use middle::ty::{mod, Ty};
20-
use middle::typeck::infer::{mod, InferCtxt};
20+
use middle::infer::{mod, InferCtxt};
2121
use syntax::ast;
2222
use syntax::codemap::DUMMY_SP;
2323
use util::ppaux::Repr;

src/librustc/middle/traits/fulfill.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
use middle::mem_categorization::Typer;
1212
use middle::ty;
13-
use middle::typeck::infer::InferCtxt;
13+
use middle::infer::InferCtxt;
1414
use std::collections::HashSet;
1515
use std::rc::Rc;
1616
use util::ppaux::Repr;

src/librustc/middle/traits/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pub use self::ObligationCauseCode::*;
1818
use middle::mem_categorization::Typer;
1919
use middle::subst;
2020
use middle::ty::{mod, Ty};
21-
use middle::typeck::infer::InferCtxt;
21+
use middle::infer::InferCtxt;
2222
use std::rc::Rc;
2323
use std::slice::Items;
2424
use syntax::ast;

0 commit comments

Comments
 (0)