Opened 7 years ago
Closed 6 years ago
#5018 closed defect (fixed)
Patch MSL 3.2.2/3.2.1 with missing 'each'?
Reported by: | Francesco Casella | Owned by: | Adrian Pop |
---|---|---|---|
Priority: | blocker | Milestone: | 1.13.0 |
Component: | Third-Party Libraries | Version: | |
Keywords: | Cc: | Martin Sjölund, Per Östlund |
Description
The NF is very strict w.r.t the use of each in array attribute modifiers. It has allowed to discover a number of missing 'each' qualifiers in the MSL, that will be fixed in the upcoming MSL 3.2.3, due to be released in September, and it (correctly) fails to flatten a number of models because of that.
Should we bother to patch them in the version of MSL 3.2.2 and MSL 3.2.1 that we'll ship with the next releases, or should we just expect people to use MSL 3.2.3?
In principle, using MSL 3.2.3 seems a better solution, but the problem is, we don't have any provision for automatic library version updates, so all existing user models, that contain a uses annotation pointing to MSL 3.2.2, it will still silently use that and issue warnings or possibly fail if the NF is used.
Changing uses annotations is a bit of an advanced topic, the average user and the newbie won't have any idea.
Comments?
Change History (9)
follow-up: 2 comment:1 by , 7 years ago
comment:2 by , 7 years ago
Replying to tknodt@…:
A version/ release is something freezed and defined. It should not be changed.
If a released version of MSL contains invalid Modelica code, which makes it unusable with a Modelica tool that follows the standard, I can't see the point of keeping it like that for posterity...
comment:3 by , 7 years ago
Milestone: | 1.13.0 → 2.0.0 |
---|
Switching to the NF is targeted for 2.0, so this is not a blocker for 1.13.0.
comment:4 by , 6 years ago
Milestone: | 2.0.0 → 1.14.0 |
---|---|
Type: | discussion → defect |
I had some discussion with Thomas Beutlich (MAP-LIB leader) and we agreed a maintenance version of 3.2.2 with these changes is unlikely to happen, though we'll try to avoid this kind of issues from 3.2.3 onwards.
So, we should patch MSL 3.2.2 with these corrections. You can find them here:
https://github.com/casella/ModelicaStandardLibrary/commit/c3c6327184204c0c01c9e596097b6ba46d0b5c79
https://github.com/casella/ModelicaStandardLibrary/commit/11b7728e81806253c671b4d21a09991384639b5e
https://github.com/casella/ModelicaStandardLibrary/commit/3028d6c33ddd55b856c4ff1bb36bf8165b9ac075
This is required for 1.14.0, but it would be nice to have it ASAP, so as to improve the NF coverage of all non-MSL libraries
comment:5 by , 6 years ago
Really not even going to be accepted in the 3.2 maintenance branch? Doesn't matter if there will be a new release or not, but shouldn't it be accepted anyway?
comment:6 by , 6 years ago
I quote Thomas Beutlich:
I doubt we have the resources to go for a MSL v3.2.2 maintenance release. It would not speed any thing up, but just gives us more work. Additionally, the maint/3.2.2 branch is in a unclear state with even new features added and missing bug fixes back ported.
Given that, I'm not sure adding these fixes to the 3.2.2 maintenance branch will give any added value, since that is in a pretty mixed-up state. Are we using the maintenance branch of 3.2.2 as a basis for our patch file? Otherwise, I wouldn't bother
comment:7 by , 6 years ago
We are using the maintenance branch as the basis for the patches. So if we can push them into the maintenance branch, we won't get conflicts with the patches.
comment:8 by , 6 years ago
OK. In that case, I don't see anything wrong in pushing those fixes to that branch. I hope GIT is smart enough to allow merging them in without too much fuss. Is that possible?
comment:9 by , 6 years ago
Milestone: | 1.14.0 → 1.13.0 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
We are now distributing MSL 3.2.2 with patched 'each' since 1.13.0
A version/ release is something freezed and defined. It should not be changed.
What could be done is to add a suggestion into the error message.