chapel-lang/chapel

Bug with `isPOD` and generic record types

Open

#24,172 opened on Jan 9, 2024

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Chapel (446 forks)auto 404
area: Compilergood first issuetype: Bug

Repository metrics

Stars
 (2,010 stars)
PR merge metrics
 (PR metrics pending)

Description

use Types;

record r { type T; var x: T; }

proc main() {
  writeln(isPOD(r(?)));
}
Foo.chpl:3: error: cannot default-initialize a variable with generic type
Note: This source location is a guess.
note: '<temporary>' has generic type 'r'
note: cannot find initialization point to split-init this variable

In the debugger I can see that it's referring to the auto-generated deinit which has its resolution triggered by resolveAutoCopyEtc, called from propagateNotPod.

Contributor guide