> On 22. Nov 2019, at 11:52, Kai Uwe Broulik <k...@privat.broulik.de> wrote: > > Hi, > > > these are the notes on the QtQml session: > > > Versioning > > ---------- > > > > Once we get rid of unqualified lookups we don't need any QML versioning > > anymore. At least the minor version will become optional already in 5.15 > > for well-behaved QML documents. In QML 3 it won't be allowed. > > While I agree with this overall, there's still one caveat which I haven't > seen discussed yet: > > Imagine I have the following code: > > Item { > id: foo > property color prettyColor: "#f0f" > > Rectangle { > color: foo.prettyColor > } > } > > Right now "foo" refers to the Item. What if in a future update, Rectangle > gains a new property "foo". Unless you want to force everyone to be explicit > by using "this" (e.g. width: this.height) everywhere, which would be > annoying, I don't see how this can be made future-proof without some form of > versioning or some other magic solution?
Similar things can happen in C++ with method names. C++ got the ‘override’ keyword to make these breakages detectable by tooling. It looks to me like the case id==propertyname would also be detectable by tooling? Br, Eike -- Eike Ziller Principal Software Engineer The Qt Company GmbH Erich-Thilo-Straße 10 D-12489 Berlin eike.zil...@qt.io http://qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development