Skip to content

Adding _Nonnull attribute causes template deduction to fail #134356

@ilya-biryukov

Description

@ilya-biryukov

https://gcc.godbolt.org/z/MW94Ezd11

template <class T> struct Base {};
template <class T> struct Derived : Base<T> {};

template <class T> void foo(Base<T> *_Nonnull);

template <class T> void bar(Base<T> *);


void test() {
    Derived<int> d;
    foo(&d); // fails.
    bar(&d); // okay.
}

Metadata

Metadata

Assignees

Labels

clang:frontendLanguage frontend issues, e.g. anything involving "Sema"

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions