llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.82k stars 11.46k forks source link

P1285R0: Improving Completeness Requirements for Type Traits #99995

Open cjdb opened 1 month ago

cjdb commented 1 month ago

Link: https://wg21.link/p1285r0

A robust implementation of P1285 should render a program ill-formed if a program breaks the rules outlined in the paper. This will require some front-end support.

llvmbot commented 1 month ago

@llvm/issue-subscribers-c-20

Author: Christopher Di Bella (cjdb)

A robust implementation of P1285 should render a program ill-formed if a program breaks the rules outlined in the paper. This will require some front-end support.
llvmbot commented 1 month ago

@llvm/issue-subscribers-clang-frontend

Author: Christopher Di Bella (cjdb)

A robust implementation of P1285 should render a program ill-formed if a program breaks the rules outlined in the paper. This will require some front-end support.
cor3ntin commented 1 month ago

Yeah... I am not sure there would be something actually implementable here - which is why it isn't outright ill-formed.

For example https://compiler-explorer.com/z/PxnxxbnhT - all of it is memoized and trying to re-instantiate everything to see whether the result changes doesn't sound practical or desirable (e.g, if we could, the impact on compile times would not please any one)