Skip to content

Fix tests after addition of .. support #1103

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,30 +8,43 @@

#line 1 "pure2-ufcs-member-access-and-chaining.cpp2"

#line 48 "pure2-ufcs-member-access-and-chaining.cpp2"
class mytype;


//=== Cpp2 type definitions and function declarations ===========================

#line 1 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto main() -> int;

#line 26 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 29 "pure2-ufcs-member-access-and-chaining.cpp2"
auto no_return([[maybe_unused]] auto const& unnamed_param_1) -> void;

[[nodiscard]] auto ufcs(cpp2::impl::in<int> i) -> int;
using fun_ret = int;


#line 32 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 35 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto fun() -> fun_ret;

#line 37 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 40 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto get_i(auto const& r) -> int;

#line 41 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 44 "pure2-ufcs-member-access-and-chaining.cpp2"
// And a test for non-local UFCS, which shouldn't do a [&] capture
[[nodiscard]] auto f([[maybe_unused]] auto const& unnamed_param_1) -> int;
extern int y;

class mytype {
public: static auto hun(cpp2::impl::in<int> i) -> void;
public: mytype() = default;
public: mytype(mytype const&) = delete; /* No 'that' constructor, suppress copy */
public: auto operator=(mytype const&) -> void = delete;

#line 50 "pure2-ufcs-member-access-and-chaining.cpp2"
};


//=== Cpp2 function definitions =================================================

#line 1 "pure2-ufcs-member-access-and-chaining.cpp2"
Expand Down Expand Up @@ -59,30 +72,36 @@ extern int y;
CPP2_UFCS(no_return)(42);

CPP2_UFCS(no_return)(cpp2::move(res));

mytype obj {};
cpp2::move(obj).hun(42);// explicit non-UFCS
}

#line 26 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 29 "pure2-ufcs-member-access-and-chaining.cpp2"
auto no_return([[maybe_unused]] auto const& unnamed_param_1) -> void{}

#line 28 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 31 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto ufcs(cpp2::impl::in<int> i) -> int{
return i + 2;
}

#line 32 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 35 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto fun() -> fun_ret{
cpp2::impl::deferred_init<int> i;
#line 33 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 36 "pure2-ufcs-member-access-and-chaining.cpp2"
i.construct(42);
return std::move(i.value());
}

#line 37 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 40 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto get_i(auto const& r) -> int{
return r;
}

#line 42 "pure2-ufcs-member-access-and-chaining.cpp2"
#line 45 "pure2-ufcs-member-access-and-chaining.cpp2"
[[nodiscard]] auto f([[maybe_unused]] auto const& unnamed_param_1) -> int { return 0; }
int y {CPP2_UFCS_NONLOCAL(f)(0)};

#line 49 "pure2-ufcs-member-access-and-chaining.cpp2"
auto mytype::hun(cpp2::impl::in<int> i) -> void{}