diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/pr11747.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/pr11747.rkt new file mode 100644 index 00000000..0ff1afad --- /dev/null +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/succeed/pr11747.rkt @@ -0,0 +1,26 @@ +#lang typed/racket/base + +(require racket/match racket/list) + +(provide check-type-declarations) + +(define-type type-declaration #t) +(define-type type-environment #t) + +(define-type dag (HashTable Symbol (U Symbol #f))) + +(: check-type-declarations ((Listof type-declaration) type-environment -> Void)) +(define (check-type-declarations types env) + (: compute-reference-dag ((Listof type-declaration) dag -> dag)) + (define (compute-reference-dag types dag) + (compute-reference-dag types dag)) + + (: cycle-exists? (Symbol dag -> Boolean)) + (define (cycle-exists? symbol a-dag) + (cycle-exists? symbol a-dag)) + + (: reference-dag dag) + (: cycle Boolean) + (define reference-dag (compute-reference-dag types (make-immutable-hash empty))) + (define cycle (cycle-exists? 'name reference-dag)) + (void))