1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
;; Copyright (C) 2018 Tommi Höynälänmaa
;; Expected results: translation error
;; (type mismatch in a static cast)
(define-proper-program (tests test617)
(import (standard-library core)
(standard-library console-io))
(define-param-class :c
(parameters %type)
(fields
(x %type public public)))
(define-param-class :d
(parameters %type)
(superclass (:c %type))
(fields
(s <symbol> public public)))
(define-param-proc myproc (%type)
(((c (:c %type))) <none> nonpure)
(console-display-line (static-cast (:d %type) c)))
(define-main-proc (() <none> nonpure)
(let ((c (create (:c <integer>) 2)))
(myproc c))))
|