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
Description:
Dyno encounters an error assigning a variable via splitting a tuple formal containing a class type. It seems to be missing an init-part for the variable being initialized, so tries to default-init it, which is not possible for a non-nil class type.
Is this issue currently blocking your progress?
Blocking for #26077.
Steps to Reproduce
Source Code:
Simpler reproducer:
class Foo {}
proc asdf () {
var (first) = (new Foo(),);
}
asdf();
Original reproducer:
proc asdf(x) {
var (first) = x;
}
class Foo {
procbar() {
var tup = (this,);
asdf(tup);
}
}
var myFoo =new Foo();
myFoo.bar();
Compile command: testInteractive or chpl --dyno
Results in error message:
─── error in mytest.chpl:2 ───
Cannot default initialize variable using non-nilable class type
The text was updated successfully, but these errors were encountered:
riftEmber
changed the title
[Bug]: dyno tries to default-init a borrowed in tuple splitting
[Bug]: dyno missing init-part when tuple splitting
Jan 14, 2025
It doesn't have to be a borrowed, just anything that can't be default-inited, since the underlying problem is missing init part. And it doesn't have to be a formal, just in a proc so call-init-deinit checks happen. Added simpler reproducer and changed title.
Summary of Problem
Description:
Dyno encounters an error assigning a variable via splitting a tuple formal containing a class type. It seems to be missing an init-part for the variable being initialized, so tries to default-init it, which is not possible for a non-nil class type.
Is this issue currently blocking your progress?
Blocking for #26077.
Steps to Reproduce
Source Code:
Simpler reproducer:
Original reproducer:
Compile command:
testInteractive
orchpl --dyno
Results in error message:
The text was updated successfully, but these errors were encountered: