libexpr/attr-set.hh: Deprecate Attr default constructor

The default constructor of Attr default constructs a Value, which is
itself deprecated. Therefore the default constructor of Attr must
itself be either deprecated in turn or removed. The default can't be
trivially deleted because Bindings::EMPTY depends on the default
constructor of Bindings which depends on Attr's default constructor, so
I'm settling for deprecating it for now.

Part of work towards #744

Change-Id: Ie34b08788780615c5478a0354122530b6a6a6964
This commit is contained in:
skye
2026-03-18 22:03:33 -04:00
parent 83bca23d4a
commit 774f957599
+2 -1
View File
@@ -25,7 +25,8 @@ struct Attr
PosIdx pos;
mutable Value value;
Attr(Symbol name, Value value, PosIdx pos = noPos) : name(name), pos(pos), value(value) {}
Attr() { };
[[deprecated]]
Attr() {};
bool operator < (const Attr & a) const
{
return name < a.name;