View source code
Display the source code in dmd/clone.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Function dmd.clone.buildCopyCtor

Generates a copy constructor if needCopyCtor() returns true. The generated copy constructor will be of the form: this(ref return scope inout(S) rhs) inout { this.field1 = rhs.field1; this.field2 = rhs.field2; ... }

bool buildCopyCtor (
  StructDeclaration sd,
  dmd.dscope.Scope* sc


sd the struct for which the copy constructor is generated
sc the scope where the copy constructor is generated


true if struct sd defines a copy constructor (explicitly or generated), false otherwise.


Walter Bright


Boost License 1.0