Skip to content

Commit b7a44c4

Browse files
committed
craziest bug
1 parent ce7accc commit b7a44c4

File tree

1 file changed

+33
-26
lines changed

1 file changed

+33
-26
lines changed

tests/s6_9.rkt

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,34 @@
1-
(define (hello29999) : Any (inject 24 Integer))
2-
(define (world30000) : Any (inject 24 Integer))
31

4-
(let ((x30001
5-
(inject
6-
(vector (inject 0 Integer) (inject 0 Integer))
7-
(Vector Any Any))))
8-
(let ((y30002
9-
(inject
10-
(vector-set!
11-
(project x30001 (Vector Any Any))
12-
0
13-
(
14-
(project (inject hello29999 (-> Any)) (-> Any))))
15-
Void)))
16-
(let ((z30003
17-
(inject
18-
(vector-set!
19-
(project x30001 (Vector Any Any))
20-
1
21-
(
22-
(project
23-
(inject world30000 (-> Any))
24-
(-> Any))))
25-
Void)))
26-
(let ((a (project x30001 (Vector Any Any))))
27-
(+ (- 6) (+ (project (vector-ref a 0) Integer) (project (vector-ref a 1) Integer)))))))
2+
(define (world) : Any (inject 42 Integer))
3+
4+
(let ((x (inject (vector (inject 0 Integer)) (Vector Any))))
5+
(let ([y (vector-set! (project x (Vector Any)) 0 (world))])
6+
(let ((a (project x (Vector Any))))
7+
(project (vector-ref a 0) Integer))))
8+
9+
10+
;; ;; Works
11+
;; (define (world) : Any (inject 42 Integer))
12+
;; (let ((x (inject (vector (inject 0 Integer)) (Vector Any))))
13+
;; (let ((a (project x (Vector Any))))
14+
;; (let ([y (vector-set! a 0 (world))])
15+
;; (project (vector-ref a 0) Integer))))
16+
17+
;; ;; Works
18+
;; (define (world) : Any (inject 42 Integer))
19+
;; (let ((x (vector (inject 0 Integer))))
20+
;; (let ([y (vector-set! x 0 (world))])
21+
;; (project (vector-ref x 0) Integer)))
22+
23+
;; ;; Works:
24+
;; (let ((x (inject (vector (inject 0 Integer)) (Vector Any))))
25+
;; (let ([y (vector-set! (project x (Vector Any)) 0 (inject 42 Integer))])
26+
;; (let ((a (project x (Vector Any))))
27+
;; (project (vector-ref a 0) Integer))))
28+
29+
;; ;; Does not work
30+
;; (define (world) : Integer 42)
31+
;; (let ((x (inject (vector (inject 0 Integer)) (Vector Any))))
32+
;; (let ([y (vector-set! (project x (Vector Any)) 0 (inject (world) Integer))])
33+
;; (let ((a (project x (Vector Any))))
34+
;; (project (vector-ref a 0) Integer))))

0 commit comments

Comments
 (0)