From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!border2.nntp.ams1.giganews.com!nntp.giganews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwinds-media.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx31.am4.POSTED!not-for-mail Subject: Re: Add Deprecated aspect to Ada 2020 Newsgroups: comp.lang.ada References: From: Per Sandberg User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Message-ID: X-Complaints-To: abuse@usenet.se NNTP-Posting-Date: Mon, 21 Aug 2017 19:09:15 UTC Organization: usenet.se Date: Mon, 21 Aug 2017 21:09:12 +0200 X-Received-Bytes: 1948 X-Received-Body-CRC: 452079600 X-Original-Bytes: 1897 Xref: news.eternal-september.org comp.lang.ada:47772 Date: 2017-08-21T21:09:12+02:00 List-Id: Well. Initially this is not a problem but i have quite often seen this requirement as libraries evolves over time. Its good to use to maintain backward compatibility while notifying the users that they should change their code prior to stepping version of that particular library. /P Den 2017-08-19 kl. 21:34, skrev Dmitry A. Kazakov: > On 2017-08-19 20:52, Lucretia wrote: > >> I'm sure plenty of people have libs where certain parts have been >> deprecated over time. > > Yes. Gtk is full of this mess. > >> It would be a nice addition to have an aspect to say this and emit a >> custom warning when it's used > >> function A return B with >> Deprecated => "Will be removed in version x.y.z, please use C >> instead."; > > Why should anybody need to remove an interface function? > > Or to put it differently. Let there be a reason why a call to some > function is not desired. Then the reason must be spelled in the language > terms. E.g. this: > > variable value is used before being initialized > > and not this: > > initialization of this variable will be removed in the next version, > don't use it ever! >