You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class A {
d: [String:(A)]
public function foo(mut this) throws {
.d.set("this", (this,))
}
}
function main() {
let d: [String:(A)] = [:]
mut a = A(d)
a.foo()
println("OK")
}
Get the error:
Building: 1/4 (jakt__prelude__prelude.cpp)
Building: 2/4 (test.cpp)
build/test.cpp:29:58: error: no viable conversion from 'Tuple<Jakt::A>' to 'Tuple<AK::NonnullRefPtr<Jakt::A>>'
TRY((((((*this).d)).set(Jakt::DeprecatedString("this"sv),(Tuple{*this})))));
^~~~~~~~~~~~~~
/home/hugh/src/osdev/jakt//runtime/AK/Try.h:28:39: note: expanded from macro 'TRY'
auto _temporary_result = (expression)); \
^~~~~~~~~~
/home/hugh/src/osdev/jakt//runtime/AK/Diagnostics.h:21:5: note: expanded from macro 'AK_IGNORE_DIAGNOSTIC'
statement; \
^~~~~~~~~
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:20:5: note: candidate inherited constructor not viable: no known conversion from 'Tuple<Jakt::A>' to 'AK::NonnullRefPtr<Jakt::A> &&' for 1st argument
Tuple(T&& value)
^
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:118:33: note: constructor from base class 'Tuple<AK::NonnullRefPtr<Jakt::A>>' inherited here
using Detail::Tuple<Ts...>::Tuple;
^
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:26:5: note: candidate inherited constructor not viable: no known conversion from 'Tuple<Jakt::A>' to 'const AK::NonnullRefPtr<Jakt::A> &' for 1st argument
Tuple(T const& value)
^
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:118:33: note: constructor from base class 'Tuple<AK::NonnullRefPtr<Jakt::A>>' inherited here
using Detail::Tuple<Ts...>::Tuple;
^
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:121:5: note: candidate constructor not viable: no known conversion from 'Tuple<Jakt::A>' to 'AK::Tuple<AK::NonnullRefPtr<Jakt::A>> &&' for 1st argument
Tuple(Tuple&& other)
^
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:126:5: note: candidate constructor not viable: no known conversion from 'Tuple<Jakt::A>' to 'const AK::Tuple<AK::NonnullRefPtr<Jakt::A>> &' for 1st argument
Tuple(Tuple const& other)
^
/home/hugh/src/osdev/jakt//runtime/Builtins/Dictionary.h:66:39: note: passing argument to parameter 'value' here
ErrorOr<void> set(K const& key, V value)
^
Building: 3/4 (jakt__prelude__iteration.cpp)
In file included from build/test.cpp:1:
In file included from build/test.h:2:
In file included from build/__unified_forward.h:2:
In file included from /home/hugh/src/osdev/jakt//runtime/lib.h:44:
/home/hugh/src/osdev/jakt//runtime/AK/Tuple.h:27:11: error: call to implicitly-deleted copy constructor of 'Jakt::A'
: value(value)
^ ~~~~~
build/test.cpp:29:59: note: in instantiation of member function 'AK::Detail::Tuple<Jakt::A>::Tuple' requested here
TRY((((((*this).d)).set(Jakt::DeprecatedString("this"sv),(Tuple{*this})))));
^
build/test.h:5:11: note: copy constructor of 'A' is implicitly deleted because base class 'RefCounted<Jakt::A>' has a deleted copy constructor
class A : public RefCounted<A>, public Weakable<A> {
^
/home/hugh/src/osdev/jakt//runtime/AK/RefCounted.h:55:20: note: copy constructor of 'RefCounted<Jakt::A>' is implicitly deleted because base class 'AK::RefCountedBase' has a deleted copy constructor
class RefCounted : public RefCountedBase {
^
/home/hugh/src/osdev/jakt//runtime/AK/RefCounted.h:17:25: note: 'RefCountedBase' has been explicitly marked deleted here
AK_MAKE_NONCOPYABLE(RefCountedBase);
^
2 errors generated.
Building: 4/4 (jakt__prelude__string.cpp)
Error: Compilation failed
Not sure on a workaround just yet.
Cheers,
Hugh
The text was updated successfully, but these errors were encountered:
Got the following source:
Get the error:
Not sure on a workaround just yet.
Cheers,
Hugh
The text was updated successfully, but these errors were encountered: