GNU bug report logs - #19459
#:export does not honor the merge-generics contract

Previous Next

Package: guile;

Reported by: David Pirotte <david <at> altosw.be>

Date: Sun, 28 Dec 2014 18:22:01 UTC

Severity: normal

Full log


Message #8 received at 19459 <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: David Pirotte <david <at> altosw.be>
Cc: 19459 <at> debbugs.gnu.org
Subject: Re: bug#19459: #:export does not honor the merge-generics contract
Date: Wed, 22 Jun 2016 22:21:48 +0200
Hi,

On Sun 28 Dec 2014 19:20, David Pirotte <david <at> altosw.be> writes:

> (define-module (a)
>   #:use-module (oop goops)
>   #:export (<a>
> 	    !width
> 	    get-width
> 	    set-width))

Here you export four bindings: one class and three generics.  Those
three generics have methods on <a>.

> (define-module (b)
>   #:use-module (oop goops)
>   #:use-module (a)

Here you import the previous four bindings.

>   #:export (<b>
> 	    !width
> 	    get-width
> 	    set-width))

However here you declare that you are going to export four new
bindings.  I believe this is the source of your problem.  You are
expecting to extend the three generics and re-export them.  However to
do so you should #:re-export !width, get-width, and set-width.

AFAIU there is no bug here.  David WDYT?

Andy




This bug report was last modified 8 years and 353 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.