Well this is not just syntactic sugar, it allows you to do the following:
const a = if cond then val1 else val2;
A constant can only be assigned exactly once, so the following is not possible:
const a;
if cond then a:=val1 else a:=val2;
So this is not just syntactic sugar, it allows you to use complex expressions on constants that was not possible before.
The idea that a constant can be dynamically assigned a value is, well, a fallacy. By definition, a constant is constant. It does not change based on context or conditions. Therefore, that concession on the current proprietors of Delphi is most likely chasing the .NET shadow or whatever language occupies the latest fad.
Who said that in Delphi you can write a thing like that (I mean const c := if ....) ?
From what I know, this certainly isn't possible in the normal variable declaration sections (interface, implementation, and as local variable). The const declaration must be known at compiler time, not at runtime, and the "if" statement already contradicts this.
If we then talk about the concept of inline variables (which isn't part of FPC), then perhaps this will be possible because it can be resolved at runtime.
But will see when Delphi 13 Florence wil be out.
NEWS note: this is known in the public e-mail lists from authorized channel so no issue to talk about, but not published in the Embarcadero blog yet, there will be a free Webinar on 10 September about the new features and the realease of new Rad Studio.