[REG2.061] Issue 13252 - ParameterDefaultValueTuple affects other instantiations#3846
[REG2.061] Issue 13252 - ParameterDefaultValueTuple affects other instantiations#3846yebblies merged 2 commits intodlang:masterfrom
Conversation
…ions Expression::equals should also compare operand types.
|
I don't like that you're changing the type before comparing. I know this is how equality works for template args, but this is supposed to be a general equals method. I assume the expressions will be cast to the correct type somewhere during template matching, so would it be possible to call equals sometime after that? |
|
In general equals method, type should be compared. In floating point value comparison, different types mean different precisions. Please also see And, if expressions are passed via alias or tuple parameters, there's no correct types and their types should be left as-is. |
|
I agree that types should be compared, but not that |
…quals I'm not sure we should also remove toHeadMutable call from IntergerExp, RealExp, ComplexExp, and VarExp::equals. To avoid accidental existing code breaking, I'd leave them in 2.066 beta/rc phase.
Ah, I see. OK, I fixed it. But, I'm not sure we should also remove |
|
I think we should probably remove them, but not now is fine. |
|
Auto-merge toggled on |
[REG2.061] Issue 13252 - ParameterDefaultValueTuple affects other instantiations
[REG2.061] Issue 13252 - ParameterDefaultValueTuple affects other instantiations
RISCV: Add some definitions and vararg supports Signed-off-by: Luís Ferreira <contact@lsferreira.net> Signed-off-by: Nicholas Wilson <thewilsonator@users.noreply.github.com> Merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
https://issues.dlang.org/show_bug.cgi?id=13252
Expression::equalsshould also compare operand types.