rupprecht wrote:

Still seeing a few more failures, although the original repro is now working.

```c++
struct Base {
    int BaseFunc(int x) { return 0; }
    int val;
};

template <typename T>
struct Foo : Base {
    template <typename X>
    int bar(X x) {
        return BaseFunc(val);  // OK
    }

    template <>
    int bar(double x) {
        return BaseFunc(0);  // error: call to non-static member function 
without an object argument
    }

    template <>
    int bar(int x) {
        return BaseFunc(val);  // error: no matching function for call to 
'BaseFunc'
        // note: candidate function not viable: no overload of 'val' matching 
'int' for 1st argument
    }
};
```

https://godbolt.org/z/Yn1jbGqW3

We also see a `reference to overloaded function could not be resolved; did you 
mean to call it?`, but I haven't been able to reduce that yet.

https://github.com/llvm/llvm-project/pull/88311
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to