Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 9258 & 9404 & 9416 - fix regressions around opAssign #1585

Merged
merged 5 commits into from
Jan 31, 2013

Commits on Jan 31, 2013

  1. fix Issue 9258 - opAssign with base class triggers "identity assignme…

    …nt operator overload" error
    9rnsr committed Jan 31, 2013
    Configuration menu
    Copy the full SHA
    1637248 View commit details
    Browse the repository at this point in the history
  2. fix Issue 9416 - [REG][2.060 -> 02.061] DMD eagerly instantiates temp…

    …late parameter-less opAssign
    9rnsr committed Jan 31, 2013
    Configuration menu
    Copy the full SHA
    ca03c60 View commit details
    Browse the repository at this point in the history
  3. fix Issue 9404 - Nullable is unusable with 2.061

    Now, user-defined but non identity opAssign is just ignored in identity assignment resolving.
    
    For the identity assignment operation, following four operations might be defined by the compiler.
    
    1. If a user-defined identity `opAssign` is defined, it is used.
    2. If the struct has postbit constructor, "copy & swap" operation is used.
    3. If member-wise assignment is necessary, it is used.
    4. Otherwise, assignment possibility is calculated from bitwise assignable of whole members.
    
    As a conclusion, except for the case where the members have disabled opAssign, identity assignment will succeed in almost cases.
    9rnsr committed Jan 31, 2013
    Configuration menu
    Copy the full SHA
    6398c58 View commit details
    Browse the repository at this point in the history
  4. Clean up code for the __xopEquals generation

    Use same way with the built-in opAssign generation.
    9rnsr committed Jan 31, 2013
    Configuration menu
    Copy the full SHA
    3bd7ca6 View commit details
    Browse the repository at this point in the history
  5. Clean up test cases for issue 6174

    Merged similar tests by making them parameterize.
    9rnsr committed Jan 31, 2013
    Configuration menu
    Copy the full SHA
    aa33955 View commit details
    Browse the repository at this point in the history