Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
March 20, 2013 seg fault due to a ref parameter with default value | ||||
---|---|---|---|---|
| ||||
void f( ref string a = "" ) { a = "crash and burn"; } main() { f(); // seg fault. This should not even compile. } I did not see a bug report on this one, but maybe I missed it. Any comments before I submit a bug report? --rt |
March 21, 2013 Re: seg fault due to a ref parameter with default value | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rob T | Rob T:
> Any comments before I submit a bug report?
I don't see a crash (Win 32) but it should not compile.
Bye,
bearophile
|
March 21, 2013 Re: seg fault due to a ref parameter with default value | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Thursday, 21 March 2013 at 00:30:41 UTC, bearophile wrote:
> Rob T:
>
>> Any comments before I submit a bug report?
>
> I don't see a crash (Win 32) but it should not compile.
>
> Bye,
> bearophile
I'm running it on Linux 64 with compiler optimizations enabled.
I think the solution to the problem is that it simply should not compile.
--rt
|
March 21, 2013 Re: seg fault due to a ref parameter with default value | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rob T | On Wednesday, 20 March 2013 at 23:12:37 UTC, Rob T wrote:
> void f( ref string a = "" )
> {
> a = "crash and burn";
> }
>
> main()
> {
>
> f(); // seg fault. This should not even compile.
>
> }
>
> I did not see a bug report on this one, but maybe I missed it.
>
> Any comments before I submit a bug report?
>
> --rt
I don't think "" should be an lvalue, so it should bind to ref parameter in the first place.
|
March 21, 2013 Re: seg fault due to a ref parameter with default value | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rob T | On Thursday, March 21, 2013 05:07:14 Rob T wrote:
> On Thursday, 21 March 2013 at 00:30:41 UTC, bearophile wrote:
> > Rob T:
> >> Any comments before I submit a bug report?
> >
> > I don't see a crash (Win 32) but it should not compile.
> >
> > Bye,
> > bearophile
>
> I'm running it on Linux 64 with compiler optimizations enabled.
>
> I think the solution to the problem is that it simply should not compile.
Of course it shouldn't compile. It's clearly an "accepts-invalid" bug. Literals aren't lvalues, and ref only accepts lvalues.
- Jonathan M Davis
|
March 21, 2013 Re: seg fault due to a ref parameter with default value | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | http://d.puremagic.com/issues/show_bug.cgi?id=9773 |
Copyright © 1999-2021 by the D Language Foundation