gonum / gonum/hdf5

hdf5: figure out how to resolve the Go pointer to Go pointer issue

Open
#12 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
135
Forks
34
PR merge metrics
No merged PRs in 30d

Description

The `GODEBUG=cgocheck=0` incantation is untenable in the long run. So we need to sort out how to deal with types holding pointers.

It is not clear to me how to deal with this using the current approach to calling HDF5 functions where entire values are simply handed off to the library. But anything else involves significant reengineering/reimplementation of the HDF5 code in Go.

Note that the example in the tests that fails this runtime check is already incorrect, since the string field that causes the failure is not correctly round-tripped anyway.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the failing example in the tests and the current approach for handing entire Go values to HDF5 functions. Reproduce the runtime pointer check without relying on GODEBUG=cgocheck=0, then trace how types containing pointers and the string field are passed and round-tripped. Done means pointer-containing types work without that setting and the affected string field round-trips correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
data
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.