blob: 8e23404552f53256c0e8ac0d820f41ba02d0d28b [file] [log] [blame] [edit]
// RUN: %clang_cc1 -std=c++20 -Wdeprecated-declarations -verify %s
struct A {
[[deprecated("use something else")]] int x = 42; // expected-note {{marked deprecated here}}
};
A makeDefaultA() { return {}; } // ctor is implicit → no warn
A copyA(const A &a) { return a; } // copy-ctor implicit → no warn
void assignA() {
A a, b;
a = b; // copy-assign implicit → no warn
}
void useA() {
A a;
(void)a.x; // expected-warning {{is deprecated}}
}
// Explicitly-defaulted ctor – now silent
struct B {
[[deprecated]] int y;
B() = default; // no warning under new policy
};