================ @@ -63,6 +65,12 @@ class Property<string storageTypeParam = "", string desc = ""> { return convertFromAttribute($_storage, $_attr, $_diag); }]; + // The verification predicate for this property. Defaults to And<[]>, + // which is trivially true, since properties are always their expected type. + // Within the predicate, `$_self` is an instance of the **interface** + // type of the property. + Pred predicate = ?; ---------------- krzysz00 wrote:
The trouble with `And<[]>` is that it's hard to detect and I'd like to say "if X doesn't have a predicate, then OptionalProperty<X> doesn't either" I was considering going an adding explicit True and False cases to the predicate combiner kind but that sameed invasive ... Also, I don't think the And<[]> detector works https://github.com/llvm/llvm-project/pull/120176 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits