// RUN: %clang_cc1 -std=c++2a -verify %s
// When forming and checking satisfaction of atomic constraints, we will
// substitute still-dependent template arguments into an expression, and later
// substitute into the result. This creates some unique situations; check that
// they work.