diff options
author | Florian Diebold <[email protected]> | 2020-02-15 17:00:14 +0000 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2020-02-15 17:04:01 +0000 |
commit | 3484d727c3b26e9596ec3bd671e2a76a87cdb5fd (patch) | |
tree | b0a1561d8dec30fc07bee0cfc2fb93cf6e162c2f /crates/ra_hir_ty | |
parent | 58f4dcf79ecf3b8dcec83d46a27a29340900a0ef (diff) |
Extend analysis-stats a bit
This adds some tools helpful when debugging nondeterminism in analysis-stats:
- a `--randomize` option that analyses everything in random order
- a `-vv` option that prints even more detail
Also add a debug log if Chalk fuel is exhausted (which would be a source of
nondeterminism, but didn't happen in my tests).
I found one source of nondeterminism (rust-lang/chalk#331), but there are still
other cases remaining.
Diffstat (limited to 'crates/ra_hir_ty')
-rw-r--r-- | crates/ra_hir_ty/src/traits.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/ra_hir_ty/src/traits.rs b/crates/ra_hir_ty/src/traits.rs index 88af61e87..ff8e75b48 100644 --- a/crates/ra_hir_ty/src/traits.rs +++ b/crates/ra_hir_ty/src/traits.rs | |||
@@ -60,6 +60,9 @@ impl TraitSolver { | |||
60 | context.0.db.check_canceled(); | 60 | context.0.db.check_canceled(); |
61 | let remaining = fuel.get(); | 61 | let remaining = fuel.get(); |
62 | fuel.set(remaining - 1); | 62 | fuel.set(remaining - 1); |
63 | if remaining == 0 { | ||
64 | log::debug!("fuel exhausted"); | ||
65 | } | ||
63 | remaining > 0 | 66 | remaining > 0 |
64 | }) | 67 | }) |
65 | } | 68 | } |