Test for PR 10946.
original commit: 0e3c2b71cc827236f4695e0271b869c416489557
This commit is contained in:
parent
58c87429da
commit
6b35e1cb24
31
collects/tests/typed-scheme/succeed/poly-struct-union.rkt
Normal file
31
collects/tests/typed-scheme/succeed/poly-struct-union.rkt
Normal file
|
@ -0,0 +1,31 @@
|
|||
|
||||
#lang racket/load
|
||||
|
||||
|
||||
(module test typed/racket
|
||||
|
||||
|
||||
(provide a:list-helper)
|
||||
|
||||
(define-type (Append-List+ elem) (U (a:singleton elem) (a:join elem)))
|
||||
|
||||
(define-struct: (elem) a:join
|
||||
((left : (Append-List+ elem)) (right : (Append-List+ elem)))
|
||||
#:transparent)
|
||||
|
||||
(define-struct: (elem) a:singleton
|
||||
((elem : elem)) #:transparent)
|
||||
|
||||
(: a:list-helper (All (elem) ((Pair elem (Listof elem)) -> (Append-List+ elem))))
|
||||
(define (a:list-helper elems)
|
||||
(cond
|
||||
((empty? (cdr elems)) (make-a:singleton (car elems)))
|
||||
(else (make-a:join (make-a:singleton (car elems))
|
||||
(a:list-helper (cdr elems))))))
|
||||
)
|
||||
|
||||
(module test2 racket
|
||||
(require 'test)
|
||||
(a:list-helper (list 1 2)))
|
||||
|
||||
(require 'test2)
|
Loading…
Reference in New Issue
Block a user