Interfaces + mixins => problem
    Tom S 
    h3r3tic at remove.mat.uni.torun.pl
       
    Tue May  2 05:18:02 PDT 2006
    
    
  
IMHO the following code should either fail to compile or produce a 
meaningful result:
----
import std.stdio;
interface Foo {
	template FooImpl() {
		void func();
	}
	mixin FooImpl foo;
}
interface Bar {
	template BarImpl() {
		void func();
	}
	mixin BarImpl bar;
}
class Baz : Foo, Bar {
	static template FooImpl() {
		void func() {
			writefln("FooImpl !");
		}
	}
	mixin FooImpl foo;
	
	
	static template BarImpl() {
		void func() {
			writefln("BarImpl !");
		}
	}
	mixin BarImpl bar;
}
void main() {
	Baz b = new Baz;
	Foo f = b;
	Bar r = b;
	f.func();
	r.func();
}
----
When ran, it prints:
FooImpl !
FooImpl !
It would be really great if it outputed:
FooImpl !
BarImpl !
If that's a problem, id rather it didn't compile at all...
Thanks :)
-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d-pu s+: a-->----- C+++$>++++ UL P+ L+ E--- W++ N++ o? K? w++ !O 
!M V? PS- PE- Y PGP t 5 X? R tv-- b DI- D+ G e>+++ h>++ !r !y
------END GEEK CODE BLOCK------
Tomasz Stachowiak  /+ a.k.a. h3r3tic +/
    
    
More information about the Digitalmars-d-bugs
mailing list