Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
February 27, 2013 [Issue 9604] New: Element type of std.range.chain is wrong for heterogeneous range arguments | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=9604 Summary: Element type of std.range.chain is wrong for heterogeneous range arguments Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody@puremagic.com ReportedBy: jakobovrum@gmail.com --- Comment #0 from Jakob Ovrum <jakobovrum@gmail.com> 2013-02-27 03:21:04 PST --- --- import std.range; void main() { immutable(ubyte)[] imm; ubyte[] mut; auto c = chain(imm, mut); pragma(msg, ElementType!(typeof(c))); } --- Output: --- int --- As far as I can tell, the element type should be some permutation of ubyte, like const(ubyte), not int. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
February 27, 2013 [Issue 9604] typeof emits wrong common type with immutable type | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jakob Ovrum | http://d.puremagic.com/issues/show_bug.cgi?id=9604 Andrej Mitrovic <andrej.mitrovich@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich@gmail.com Component|Phobos |DMD Summary|Element type of |typeof emits wrong common |std.range.chain is wrong |type with immutable type |for heterogeneous range | |arguments | --- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-27 15:40:17 PST --- The problem is shown when using CommonType: import std.traits; import std.typetuple; void main() { alias TypeTuple!(immutable(ubyte), ubyte) T; pragma(msg, CommonType!T); // int } This is a compiler bug. Test-case: void main() { alias IB = immutable(byte); pragma(msg, typeof(true ? byte.init : byte.init)); // byte pragma(msg, typeof(true ? IB.init : byte.init)); // int } Also another parser bug was found (I'll file this separately): void main() { auto x = immutable(byte).init; } test.d(3): Error: (arguments) expected following immutable(byte) test.d(3): Error: semicolon expected following auto declaration, not '.' -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
February 27, 2013 [Issue 9604] typeof emits wrong common type with immutable type | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jakob Ovrum | http://d.puremagic.com/issues/show_bug.cgi?id=9604 --- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-27 15:42:57 PST --- (In reply to comment #1) > Also another parser bug was found (I'll file this separately): Filed as Issue 9613. -- 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