This commit is contained in:
parent
a63a489968
commit
28b1a4917b
9
TestSuite/defaultparams5.pas
Normal file
9
TestSuite/defaultparams5.pas
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
var obj: object;
|
||||
procedure p1<T>(o: T := default(T));
|
||||
begin
|
||||
obj := o;
|
||||
end;
|
||||
begin
|
||||
p1&<BigInteger>;
|
||||
assert(BigInteger(obj) = default(BigInteger));
|
||||
end.
|
||||
|
|
@ -2649,6 +2649,14 @@ namespace PascalABCCompiler.TreeRealization
|
|||
par.default_value, null);
|
||||
cpar.inital_value = par.inital_value;
|
||||
cpar.default_value = par.default_value;
|
||||
if (cpar.default_value is default_operator_node)
|
||||
(cpar.default_value as default_operator_node).type = generic_convertions.determine_type(cpar.default_value.type, _instance_params, true, orig_gen_params);
|
||||
else if (cpar.default_value is default_operator_node_as_constant)
|
||||
{
|
||||
(cpar.default_value as default_operator_node_as_constant).type = generic_convertions.determine_type(cpar.default_value.type, _instance_params, true, orig_gen_params);
|
||||
(cpar.default_value as default_operator_node_as_constant).default_operator.type = (cpar.default_value as default_operator_node_as_constant).type;
|
||||
}
|
||||
|
||||
cpar.intrenal_is_params = par.is_params;
|
||||
cpar.is_ret_value = par.is_ret_value;
|
||||
cpar.is_special_name = par.is_special_name;
|
||||
|
|
|
|||
Loading…
Reference in a new issue