[Issue 10544] writeln!(inout(int)) does not work
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jul 8 03:19:56 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10544
gerleim <gerleim2 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gerleim2 at gmail.com
--- Comment #3 from gerleim <gerleim2 at gmail.com> 2013-07-08 03:19:54 PDT ---
Sorry if I am writing something silly, it's been a while ago I programed in D,
it seems I skipped the whole inout thing.
Feel free to modify/delete my comment or create new issue as you see fit.
Isn't there a similar problem with Unsigned(T)? Something like
unittest
{
alias Unsigned!(inout(int)) U4;
static assert(is(U4 == inout(uint)));
}
What I get with Unqual (with the original writln issue) is that there is a
problem with Unqual!(Unsigned!T), while Unqual!(T) does compile.
In code:
module main;
import std.traits;
int main(string[] argv)
{
const int x = 1;
//TestCallGood(x);
TestCallBad(x);
return 0;
}
/*public void TestCallGood(int value)
{
Foo(value);
}*/
public void TestCallBad(inout int value)
{
Foo(value);
}
public void Foo(T)(T value)
{
Unsigned!T z; //Unsigned!(inout(int)) is used as a type
Unqual!(Unsigned!T) vBad = value; //template instance
Unqual!(__T4ImplTNgiZ) does not match template declaration Unqual(T)
Unqual!(T) vGood = value;
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list