Skip to content

Commit

Permalink
Updated tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
perost committed Nov 14, 2015
1 parent 005343b commit 4f8d315
Show file tree
Hide file tree
Showing 9 changed files with 156 additions and 14 deletions.
94 changes: 84 additions & 10 deletions flattening/libraries/3rdParty/Buildings/System2.mo
Expand Up @@ -8154,54 +8154,128 @@ end System2;
// h := 4184.0 * (-273.15 + T);
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$rad$vol$ports.Medium.specificEnthalpy_pTX;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.FluidConstants "Automatically generated record constructor for Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.FluidConstants"
// input String iupacName;
// input String casRegistryNumber;
// input String chemicalFormula;
// input String structureFormula;
// input Real molarMass(min = 0.001, max = 0.25, nominal = 0.032, quantity = "MolarMass", unit = "kg/mol");
// input Real criticalTemperature(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real criticalPressure(min = 0.0, max = 100000000.0, nominal = 100000.0, start = 100000.0, quantity = "Pressure", unit = "Pa", displayUnit = "bar");
// input Real criticalMolarVolume(min = 1e-06, max = 1000000.0, nominal = 1.0, quantity = "MolarVolume", unit = "m3/mol");
// input Real acentricFactor;
// input Real meltingPoint(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real normalBoilingPoint(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real dipoleMoment(min = 0.0, max = 2.0, unit = "debye", quantity = "ElectricDipoleMoment");
// input Boolean hasIdealGasHeatCapacity = false;
// input Boolean hasCriticalData = false;
// input Boolean hasDipoleMoment = false;
// input Boolean hasFundamentalEquation = false;
// input Boolean hasLiquidHeatCapacity = false;
// input Boolean hasSolidHeatCapacity = false;
// input Boolean hasAccurateViscosityData = false;
// input Boolean hasAccurateConductivityData = false;
// input Boolean hasVapourPressureCurve = false;
// input Boolean hasAcentricFactor = false;
// input Real HCRIT0(min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0, quantity = "SpecificEnergy", unit = "J/kg") = 0.0;
// input Real SCRIT0(min = -10000000.0, max = 10000000.0, nominal = 1000.0, quantity = "SpecificEntropy", unit = "J/(kg.K)") = 0.0;
// input Real deltah(min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0, quantity = "SpecificEnergy", unit = "J/kg") = 0.0;
// input Real deltas(min = -10000000.0, max = 10000000.0, nominal = 1000.0, quantity = "SpecificEntropy", unit = "J/(kg.K)") = 0.0;
// output FluidConstants res;
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.FluidConstants;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.ThermodynamicState "Automatically generated record constructor for Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.ThermodynamicState"
// input Real p(min = 0.0, max = 100000000.0, nominal = 100000.0, start = 100000.0, quantity = "Pressure", unit = "Pa", displayUnit = "bar");
// input Real T(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real[2] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1);
// output ThermodynamicState res;
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.ThermodynamicState;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.setState_pTX
// input Real p(quantity = "Pressure", unit = "Pa", displayUnit = "bar", min = 0.0, max = 100000000.0, start = 100000.0, nominal = 100000.0);
// input Real T(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 1.0, max = 10000.0, start = 300.0, nominal = 300.0);
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {1.0};
// output Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.ThermodynamicState state;
// input Real T(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 190.0, max = 647.0, start = 300.0, nominal = 300.0);
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {0.01, 0.99};
// output Modelica.Media.Air.MoistAir.ThermodynamicState state;
// algorithm
// state := if size(X, 1) == 2 then Modelica.Media.Air.MoistAir.ThermodynamicState(p, T, X) else Modelica.Media.Air.MoistAir.ThermodynamicState(p, T, cat(1, X, {1.0 - sum(X)}));
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.setState_pTX;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.specificEnthalpy
// input Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.ThermodynamicState state;
// output Real h(quantity = "SpecificEnergy", unit = "J/kg", min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0);
// algorithm
// h := Buildings.Media.GasesPTDecoupled.MoistAirUnsaturated.h_pTX(state.p, state.T, {state.X[1], state.X[2]});
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.specificEnthalpy;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.specificEnthalpy_pTX
// input Real p(quantity = "Pressure", unit = "Pa", displayUnit = "bar", min = 0.0, max = 100000000.0, start = 100000.0, nominal = 100000.0);
// input Real T(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 1.0, max = 10000.0, start = 300.0, nominal = 300.0);
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {1.0};
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {0.01, 0.99};
// output Real h(quantity = "SpecificEnergy", unit = "J/kg", min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0);
// algorithm
// h := Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.specificEnthalpy(Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.setState_pTX(p, T, X));
// h := Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.specificEnthalpy(/*.Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.ThermodynamicState*/(Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.setState_pTX(p, T, X)));
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$dynBal$ports.Medium.specificEnthalpy_pTX;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.FluidConstants "Automatically generated record constructor for Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.FluidConstants"
// input String iupacName;
// input String casRegistryNumber;
// input String chemicalFormula;
// input String structureFormula;
// input Real molarMass(min = 0.001, max = 0.25, nominal = 0.032, quantity = "MolarMass", unit = "kg/mol");
// input Real criticalTemperature(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real criticalPressure(min = 0.0, max = 100000000.0, nominal = 100000.0, start = 100000.0, quantity = "Pressure", unit = "Pa", displayUnit = "bar");
// input Real criticalMolarVolume(min = 1e-06, max = 1000000.0, nominal = 1.0, quantity = "MolarVolume", unit = "m3/mol");
// input Real acentricFactor;
// input Real meltingPoint(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real normalBoilingPoint(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real dipoleMoment(min = 0.0, max = 2.0, unit = "debye", quantity = "ElectricDipoleMoment");
// input Boolean hasIdealGasHeatCapacity = false;
// input Boolean hasCriticalData = false;
// input Boolean hasDipoleMoment = false;
// input Boolean hasFundamentalEquation = false;
// input Boolean hasLiquidHeatCapacity = false;
// input Boolean hasSolidHeatCapacity = false;
// input Boolean hasAccurateViscosityData = false;
// input Boolean hasAccurateConductivityData = false;
// input Boolean hasVapourPressureCurve = false;
// input Boolean hasAcentricFactor = false;
// input Real HCRIT0(min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0, quantity = "SpecificEnergy", unit = "J/kg") = 0.0;
// input Real SCRIT0(min = -10000000.0, max = 10000000.0, nominal = 1000.0, quantity = "SpecificEntropy", unit = "J/(kg.K)") = 0.0;
// input Real deltah(min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0, quantity = "SpecificEnergy", unit = "J/kg") = 0.0;
// input Real deltas(min = -10000000.0, max = 10000000.0, nominal = 1000.0, quantity = "SpecificEntropy", unit = "J/(kg.K)") = 0.0;
// output FluidConstants res;
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.FluidConstants;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.ThermodynamicState "Automatically generated record constructor for Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.ThermodynamicState"
// input Real p(min = 0.0, max = 100000000.0, nominal = 100000.0, start = 100000.0, quantity = "Pressure", unit = "Pa", displayUnit = "bar");
// input Real T(min = 1.0, max = 10000.0, nominal = 300.0, start = 300.0, quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC");
// input Real[2] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1);
// output ThermodynamicState res;
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.ThermodynamicState;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.setState_pTX
// input Real p(quantity = "Pressure", unit = "Pa", displayUnit = "bar", min = 0.0, max = 100000000.0, start = 100000.0, nominal = 100000.0);
// input Real T(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 1.0, max = 10000.0, start = 300.0, nominal = 300.0);
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {1.0};
// output Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.ThermodynamicState state;
// input Real T(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 190.0, max = 647.0, start = 300.0, nominal = 300.0);
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {0.01, 0.99};
// output Modelica.Media.Air.MoistAir.ThermodynamicState state;
// algorithm
// state := if size(X, 1) == 2 then Modelica.Media.Air.MoistAir.ThermodynamicState(p, T, X) else Modelica.Media.Air.MoistAir.ThermodynamicState(p, T, cat(1, X, {1.0 - sum(X)}));
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.setState_pTX;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.specificEnthalpy
// input Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.ThermodynamicState state;
// output Real h(quantity = "SpecificEnergy", unit = "J/kg", min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0);
// algorithm
// h := Buildings.Media.GasesPTDecoupled.MoistAirUnsaturated.h_pTX(state.p, state.T, {state.X[1], state.X[2]});
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.specificEnthalpy;
//
// function Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.specificEnthalpy_pTX
// input Real p(quantity = "Pressure", unit = "Pa", displayUnit = "bar", min = 0.0, max = 100000000.0, start = 100000.0, nominal = 100000.0);
// input Real T(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 1.0, max = 10000.0, start = 300.0, nominal = 300.0);
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {1.0};
// input Real[:] X(quantity = "MassFraction", unit = "kg/kg", min = 0.0, max = 1.0, nominal = 0.1) = {0.01, 0.99};
// output Real h(quantity = "SpecificEnergy", unit = "J/kg", min = -10000000000.0, max = 10000000000.0, nominal = 1000000.0);
// algorithm
// h := Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.specificEnthalpy(Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.setState_pTX(p, T, X));
// h := Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.specificEnthalpy(/*.Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.ThermodynamicState*/(Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.setState_pTX(p, T, X)));
// end Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b$vol$ports.Medium.specificEnthalpy_pTX;
//
// function Modelica.Media.Air.MoistAir.FluidConstants "Automatically generated record constructor for Modelica.Media.Air.MoistAir.FluidConstants"
Expand Down
2 changes: 1 addition & 1 deletion flattening/modelica/enums/EnumRedeclaration.mo
Expand Up @@ -15,7 +15,7 @@ model Ex
parameter Foo2.T f2 = Foo2.T.One;
end Ex;

partial class Foo
class Foo
replaceable type T = enumeration(:);
end Foo;

Expand Down
2 changes: 2 additions & 0 deletions flattening/modelica/scoping/Makefile
Expand Up @@ -23,6 +23,8 @@ Lookup10.mo \
Lookup11.mo \
LookupArray.mo \
InnerEnumeration.mo \
PartialLookup1.mo \
PartialLookup2.mo \
ProtectedStructural.mo \


Expand Down
21 changes: 21 additions & 0 deletions flattening/modelica/scoping/PartialLookup1.mo
@@ -0,0 +1,21 @@
// name: PartialLookup1
// keywords: lookup partial redeclare
// status: correct
//
// Checks that it's not allowed to look up a name in a partial class.
//

model PartialLookup1
partial package P
model A end A;
end P;

P.A a;
end PartialLookup1;

// Result:
// class PartialLookup1
// end PartialLookup1;
// [flattening/modelica/scoping/PartialLookup1.mo:13:3-13:8:writable] Error: P is partial, name lookup is not allowed in partial classes.
//
// endResult
31 changes: 31 additions & 0 deletions flattening/modelica/scoping/PartialLookup2.mo
@@ -0,0 +1,31 @@
// name: PartialLookup2
// keywords: lookup partial redeclare
// status: incorrect
//
// Checks that it's not allowed to look up a name in a partial class.
//

model A
partial package PP
model B end B;
end PP;

PP.B b;
end A;

model PartialLookup2
A a;
end PartialLookup2;

// Result:
// Error processing file: PartialLookup2.mo
// [flattening/modelica/scoping/PartialLookup2.mo:9:3-11:9:writable] Notification: From here:
// [flattening/modelica/scoping/PartialLookup2.mo:17:3-17:6:writable] Error: component a contains the definition of a partial class PP.
// Please redeclare it to any package compatible with A.PP.
// Error: Error occurred while flattening model PartialLookup2
//
// # Error encountered! Exiting...
// # Please check the error message and the flags.
//
// Execution failed!
// endResult
4 changes: 2 additions & 2 deletions metamodelica/meta/ErrorLocalElement3.mo
Expand Up @@ -19,9 +19,9 @@ end ErrorLocalElement3;

// Result:
// Error processing file: ErrorLocalElement3.mo
// [metamodelica/meta/ErrorLocalElement3.mo:12:9-12:20:writable] Error: Variable t: Class int not found in scope ErrorLocalElement3.fn.$match scope$.list.
// [metamodelica/meta/ErrorLocalElement3.mo:12:9-12:20:writable] Error: Class int not found in scope ErrorLocalElement3.fn.$match scope$.list.
// [metamodelica/meta/ErrorLocalElement3.mo:10:5-14:14:writable] Error: Internal error Patternm.addLocalDecls failed
// [metamodelica/meta/ErrorLocalElement3.mo:12:9-12:20:writable] Error: Variable t: Class int not found in scope ErrorLocalElement3.fn.$match scope$.list.
// [metamodelica/meta/ErrorLocalElement3.mo:12:9-12:20:writable] Error: Class int not found in scope ErrorLocalElement3.fn.$match scope$.list.
// [metamodelica/meta/ErrorLocalElement3.mo:10:5-14:14:writable] Error: Internal error Patternm.addLocalDecls failed
// Error: Error occurred while flattening model ErrorLocalElement3
//
Expand Down
2 changes: 1 addition & 1 deletion openmodelica/fmi/ModelExchange/2.0/testBug3049.mos
Expand Up @@ -8,7 +8,7 @@ loadModel(Modelica);
loadString("
model test_Bug3049
output Modelica.SIunits.AbsolutePressure p1 = 1e5;
output Modelica.Media.Water.WaterIF97_base.AbsolutePressure p2 = 2e5;
output Modelica.Media.Water.StandardWater.AbsolutePressure p2 = 2e5;
output Modelica.SIunits.AbsolutePressure p3(nominal = 1e7) = 1e5;
end test_Bug3049;
");
Expand Down
Expand Up @@ -30,6 +30,13 @@ runScript(modelTesting);getErrorString();
// Simulation options: startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Media.Examples.MixtureGases', options = '', outputFormat = 'mat', variableFilter = 'time|U1|m1|U2|m2', cflags = '', simflags = ' -abortSlowSimulation -alarm=360 -emit_protected'
// Result file: Modelica.Media.Examples.MixtureGases_res.mat
// Files Equal!
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:204:5-205:38:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:256:5-257:40:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:258:5-258:76:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:262:5-263:39:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:256:5-257:40:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:258:5-258:76:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:262:5-263:39:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// Warning: Alias set with different nominal values
// * candidate: medium2.state.p(nominal = 1000000.0)
// * candidate: medium2.p(nominal = 100000.0)
Expand Down
Expand Up @@ -32,6 +32,13 @@ runScript(modelTesting);getErrorString();
// Simulation options: startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Media.Examples.TestOnly.MixIdealGasAir', options = '', outputFormat = 'mat', variableFilter = 'time|medium.p|medium.T|medium2.p|medium2.T|medium2.X.1.|medium2.X.2.', cflags = '', simflags = ' -abortSlowSimulation -alarm=360 -emit_protected'
// Result file: Modelica.Media.Examples.TestOnly.MixIdealGasAir_res.mat
// Files Equal!
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:204:5-205:38:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:256:5-257:40:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:258:5-258:76:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:262:5-263:39:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:256:5-257:40:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:258:5-258:76:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// [Modelica 3.2.1/Media/IdealGases/Common/Functions.mo:262:5-263:39:writable] Error: PartialMedium is partial, name lookup is not allowed in partial classes.
// Warning: Alias set with different nominal values
// * candidate: medium2.state.p(nominal = 1000000.0)
// * candidate: medium2.p(nominal = 100000.0)
Expand Down

0 comments on commit 4f8d315

Please sign in to comment.