[plt-scheme] possible bug? contracts and chains of module provides
I'm running into a small issue with provide and structures.
Say that I have three modules: m1.ss, m2.ss, and m3.ss:
##########################################
## m1.ss
#lang scheme/base
(require scheme/contract)
(define-struct repair () #:transparent)
(provide/contract [struct repair ()])
## m2.ss
#lang scheme/base
(require "m1.ss" scheme/contract)
(provide/contract [struct repair ()])
## m3.ss
#lang scheme/base
(require "m2.ss")
(define (make-a-repair)
(make-repair))
##########################################
I'm running into a compile-time error when compiling m3:
#############################################################
m3.ss:4:3: expand: unbound variable in module in: make-repair
#############################################################
This is a little surprising to me. Am I doing something wrong here by
trying to reprovide the structure through a provide/contract? Thanks!