diff options
author | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2015-03-10 15:31:12 +0100 |
---|---|---|
committer | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2015-07-27 14:02:32 +0200 |
commit | 1674b11594a7b4daf24d99a0acdffc54c9999198 (patch) | |
tree | 991f74212c1b1d2398a09c9e8dd43f71017d6564 /test-suite/success | |
parent | 70e87f6e67198b1340dfffe1e2a7d741706125f9 (diff) |
Add an Iterative Deepening search strategy to typeclass resolution.
Diffstat (limited to 'test-suite/success')
-rw-r--r-- | test-suite/success/Typeclasses.v | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/test-suite/success/Typeclasses.v b/test-suite/success/Typeclasses.v index 30a2a7429..d6e590af3 100644 --- a/test-suite/success/Typeclasses.v +++ b/test-suite/success/Typeclasses.v @@ -57,4 +57,25 @@ Section sec. let's try to get rid of the intermediate constant foo. Surely we can just expand it inline, right? Wrong!: *) Check U (fun x => e x) _. -End sec.
\ No newline at end of file +End sec. + +Module IterativeDeepening. + + Class A. + Class B. + Class C. + + Instance: B -> A | 0. + Instance: C -> A | 0. + Instance: C -> B -> A | 0. + Instance: A -> A | 0. + + Goal C -> A. + intros. + Set Typeclasses Debug. + Fail Timeout 1 typeclasses eauto. + Set Typeclasses Iterative Deepening. + typeclasses eauto. + Qed. + +End IterativeDeepening. |