<div dir="ltr"><div>I'm not sure how this would work, since many aliases are defined as class members (e.g. Geometry::Ptr). I would just leave the typdefs and discontinue our (minimal) use of them.</div><div><br></div><div>Dan<br></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Jan 13, 2025 at 9:16 AM Howard Butler <<a href="mailto:howard@hobu.co">howard@hobu.co</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On Jan 10, 2025, at 3:20 PM, Martin Davis <<a href="mailto:mtnclimb@gmail.com" target="_blank">mtnclimb@gmail.com</a>> wrote:<br>
> <br>
> Given the desire to avoid changes to ABI for micro versions, it sounds like the path to removing pointer aliases is:<br>
> <br>
> - remove aliases in src in main<br>
> - do not backport alias removal to previous versions (this may create some backporting pain, but since there are relatively few uses of alias in src hopefully this won't be too bad)<br>
> - remove aliases in test code as a lower priority, perhaps on an as-encountered basis<br>
<br>
Can we please stash the aliases in a header file that is still installed but nothing in the GEOS API actually uses? Then can we mark it all [[deprecated]]?<br>
<br>
This change is very likely to break people who have historical codebases that have tightly wrapped around GEOS. A special-for-them header to ease their transition would be a bit courteous, whereas an abrupt change of types in an a part of their codebase that is likely ancient is going to be very disorienting. <br>
<br>
Howard <br>
<br>
</blockquote></div>