
;; Copyright (C) 2017 Tommi Höynälänmaa

;; Expected results: translation and running OK

(define-proper-program (tests test596)

  (import (standard-library core)
	  (standard-library console-io))

  (prelink-body (standard-library core))

  (define-class <my-pair> <object> #f #f #f public ()
    ((i1 <integer> public public)
     (i2 <integer> public public)))

  (define p (make <my-pair> 4 5))

  (define-syntax p.car
    (identifier-syntax
     (_ (field-ref p 'i1))
     ((set! _ e) (field-set! p 'i1 e))))

  (define-simple-proc main (() <none> nonpure)
    (set! p.car 15)
    (console-display-line p.car)))
