GabrielDosReis / ipr

Compiler-neutral Internal Program Representation for C++
BSD 3-Clause "New" or "Revised" License
222 stars 23 forks source link

Rename `impl::Expr<T>::constraint` #207

Closed GabrielDosReis closed 2 years ago

GabrielDosReis commented 2 years ago

Back in 2004, the vision and the details of how concepts were supposed to work were different from what eventually ended up in C++20. In particular, in those days a concept is just a generalized type - and each expression had a minimal set of constraints or properties (concept) which is its type. Hence the naming of the implementation field impl::Expr<T>::constraint.

The vocabulary of C++20 concepts are slightly different from those of the early days, so renaming constraint to typing (type assigned through the usual type assignment rules) to avoid confusion.