https://issues.dlang.org/show_bug.cgi?id=22997
Issue ID: 22997
Summary: DMD crash: copy ctor can't call other ctor
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
Hello, this code crash dmd:
```d
struct Forward{}
struct Foo{
/// 1.
this(scope ref typeof(this) rhs){
this(rhs, Forward.init); //call ctor 2.
}
/// 2.
this(scope ref typeof(this) rhs, Forward){}
/// 3.
this(scope typeof(this) rhs, int i, double d, string s){}
}
void main(){
}
```
Existence of ctor 3 make dmd crash, there is some ctor overloading bug when
ctor 1. call ctor 2.
Ctor 3. must have first parameter rvalue value of type typeof(this) to trigger
the dmd crash.
--