Skip to content

Commit 7a07f2a

Browse files
committed
Add a few more debug statements
1 parent 2bb0796 commit 7a07f2a

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/librustc/middle/traits/select.rs

+8-1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ enum BuiltinBoundConditions {
109109
AmbiguousBuiltin
110110
}
111111

112+
#[deriving(Show)]
112113
enum EvaluationResult {
113114
EvaluatedToOk,
114115
EvaluatedToErr,
@@ -246,7 +247,9 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
246247
obligation.repr(self.tcx()));
247248

248249
let stack = self.push_stack(previous_stack.map(|x| x), obligation);
249-
self.evaluate_stack(&stack)
250+
let result = self.evaluate_stack(&stack);
251+
debug!("result: {}", result);
252+
result
250253
}
251254

252255
fn evaluate_stack(&mut self,
@@ -259,6 +262,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
259262
// that does provide an impl.
260263
let input_types = &stack.skol_trait_ref.substs.types;
261264
if input_types.iter().any(|&t| ty::type_is_skolemized(t)) {
265+
debug!("evaluate_stack({}) --> unbound argument, must be ambiguous",
266+
stack.skol_trait_ref.repr(self.tcx()));
262267
return EvaluatedToAmbig;
263268
}
264269

@@ -286,6 +291,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
286291
.skip(1) // skip top-most frame
287292
.any(|prev| stack.skol_trait_ref == prev.skol_trait_ref)
288293
{
294+
debug!("evaluate_stack({}) --> recursive",
295+
stack.skol_trait_ref.repr(self.tcx()));
289296
return EvaluatedToOk;
290297
}
291298

0 commit comments

Comments
 (0)