| #include <cstdint> | |
| #include <cstdio> | |
| struct Foo { | |
| uint32_t func() const & { return 0; } | |
| int64_t func() const && { return 1; } | |
| uint32_t func() & { return 2; } | |
| int64_t func() && { return 3; } | |
| }; | |
| int main() { | |
| Foo foo; | |
| const Foo const_foo; | |
| auto res = foo.func() + const_foo.func() + Foo{}.func() + | |
| static_cast<Foo const &&>(Foo{}).func(); | |
| std::puts("Break here"); | |
| return res; | |
| } |