October 04, 2010 [Issue 4986] New: IFTI fails on partial matching with value parameters | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=4986 Summary: IFTI fails on partial matching with value parameters Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: simen.kjaras@gmail.com --- Comment #0 from Simen Kjaeraas <simen.kjaras@gmail.com> 2010-10-04 00:42:50 PDT --- The following code fails to deduce the value of m2 in bar: struct Foo( int n, int m ) { /// Bugged: void bar( int m2 )( Foo!( m2, n ) arg ) {} // Workaround: void baz( int n2, int m2 )( Foo!( n2, m2 ) arg ) if ( n == n2 ) {} } void bug( )( ) { Foo!(3,2) f; Foo!(3,3) g; f.baz( g ); // Works. f.bar( g ); // Fails. } foo.d(14): Error: template foo.Foo!(3,2).Foo.bar(int m2) does not match any func tion template declaration foo.d(14): Error: template foo.Foo!(3,2).Foo.bar(int m2) cannot deduce template function from argument types !()(Foo!(3,3)) Note also that this works for type parameters: struct Foo( T, U ) { void bar( V )( Foo!( T, V ) arg ) {} } void bug( )( ) { Foo!(int, float) f; Foo!(int, string) g; f.bar( g ); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
May 31, 2012 [Issue 4986] IFTI fails on partial matching with value parameters | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjaeraas | http://d.puremagic.com/issues/show_bug.cgi?id=4986 Kenji Hara <k.hara.pg@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from Kenji Hara <k.hara.pg@gmail.com> 2012-05-30 20:45:57 PDT --- Works in 2.060head. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation