root icon indicating copy to clipboard operation
root copied to clipboard

[cling] Remove support for declarations without 'auto' keyword

Open devajithvs opened this issue 1 year ago • 10 comments

This Pull request:

Removes the implicit auto keyword support added in: https://github.com/root-project/root/commit/071d08487ceea4f8f28231ea182ba350e6836e30 and https://github.com/root-project/root/commit/1f4a6dc0539acfc0ec58cea7443fe08a0a4479d4

Changes or fixes:

This feature was deprecated in: https://github.com/root-project/root/pull/14645

Will update LLVM and squash the commits here before the final merge/decision.

Checklist:

  • [ ] tested changes locally
  • [ ] updated the docs (if necessary)

This PR fixes #

devajithvs avatar Sep 11 '24 15:09 devajithvs

Test Results

    13 files      13 suites   3d 1h 26m 43s :stopwatch:  3 029 tests  3 027 :white_check_mark: 0 :zzz: 2 :x: 33 856 runs  33 854 :white_check_mark: 0 :zzz: 2 :x:

For more details on these failures, see this check.

Results for commit 7a463086.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Sep 11 '24 17:09 github-actions[bot]

This was deprecated in 6.32, i.e. image

dpiparo avatar Sep 12 '24 07:09 dpiparo

This was deprecated in 6.32, i.e. image

Yes, but I don't think people will do every upgrade and especially not for old macros. This was discussed in the ROOT meeting back then when we agreed that it would only be removed for ROOT 7. I'm ok with revisiting this decision, but I'm against just merging a PR less than half a year after it was deprecated.

hahnjo avatar Sep 12 '24 07:09 hahnjo

Why was this deprecation not mentioned in the 6.32 release notes? https://root.cern/doc/v632/release-notes.html

The standard procedure is: if you deprecate something, write it in the release notes, including the information on when it will be eventually removed (which is usually one release later). If we don't follow our own standard here, we'll have these discussions forever :(

guitargeek avatar Sep 12 '24 08:09 guitargeek

including the information on when it will be eventually removed (which is usually one release later)

In this case it was discussed: It will be removed in ROOT 7.

hahnjo avatar Sep 12 '24 08:09 hahnjo

Is that discussion documented somewhere?

guitargeek avatar Sep 12 '24 08:09 guitargeek

Is that discussion documented somewhere?

Yes, in https://indico.cern.ch/event/1381548/

Regarding the deprecation auto auto: will break a lot of unnamed old macros, we should wait with removing until ROOT 7. We will start issuing deprecation messages starting from ROOT 6.32.

hahnjo avatar Sep 12 '24 09:09 hahnjo

I would like to link here this note https://github.com/root-project/root/pull/15368#issuecomment-2376010102 by @devajithvs : once this is merged, PR https://github.com/root-project/root/pull/15368 will have to be reverted.

dpiparo avatar Sep 26 '24 06:09 dpiparo

What about a three-step nudge-approach?

  • In ROOT 6.32, 6.34 and 6.36, 6.38 it emits a warning, as with current master.
  • In ROOT 6.40, auto-injection support is disabled by default, so some users might be affected / an error triggered when upgrading, but they can rescue the old behavior by just putting in their .rootrc something like Rint.AutoInject 1 (would be 0 by default). Some of them might even start adapting their scripts to prevent accumulated work later on when going to ROOT7, rather than changing their rootrc.
  • In ROOT 7, Rint.AutoInject 1 disappears and one can finally drop the LLVM patches allowing auto-injection.

ferdymercury avatar Feb 26 '25 13:02 ferdymercury

  • In ROOT 6.40, auto-injection support is disabled by default, so some users might be affected / an error triggered when upgrading, but they can rescue the old behavior by just putting in their .rootrc something like Rint.AutoInject 1 (would be 0 by default). Some of them might even start adapting their scripts to prevent accumulated work later on when going to ROOT7, rather than changing their rootrc.

gentle ping, what do you think about this nudge approach?

ferdymercury avatar Jul 03 '25 13:07 ferdymercury