Restriction on interface function types
Steven Schveighoffer
schveiguy at yahoo.com
Wed Mar 12 06:19:35 PDT 2014
On Wed, 12 Mar 2014 09:13:08 -0400, Steve Teale
<steve.teale at britseyeview.com> wrote:
> On Wednesday, 12 March 2014 at 11:56:43 UTC, Steven Schveighoffer wrote:
>> On Wed, 12 Mar 2014 06:57:08 -0400, Steve Teale
>> <steve.teale at britseyeview.com> wrote:
>>
>>
>> What you want simply isn't possible. An interface binds at runtime, and
>> you need to declare types at compile-time. You can't use an interface
>> method to define the type of y.
>>
>> -Steve
>
> Steve
>
> OK, it was a bad illustrative example, but
>
> (cast(typeof(a.myType()) whatever).foo();
>
> could be useful, when foo() is not in the interface.
>
> It was the failure of auto in an interface that I was remarking on -
> should at least be documented. Also the covariant return values as
> suggested by md don't work either.
Auto doesn't work if you don't define what it returns. Auto is not a type
in itself, it means "infer the type". If there's nothing to infer with,
it's an error.
-Steve
More information about the Digitalmars-d
mailing list