JuliaIO / JuliaIO/MAT.jl

Improve `CompositeKind` handling

Open
#174 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
293
Forks
79
PR merge metrics
No merged PRs in 30d

Description

The current behavior for CompositeKind data is
https://github.com/JuliaIO/MAT.jl/blob/355bd1a901730ad5713b3283f6ec66603c72dfd9/src/MAT_HDF5.jl#L529-L536

however, there are issues with the isbits(s) test, reported in #162,#143 or with simple user types such as

struct MyType
    field1::Int64
    field2::Int64
end

While these types are clearly isbitstypes, I do not see a reason to not allow their conversion the equivalent matlab struct.
Given
https://github.com/JuliaIO/MAT.jl/blob/355bd1a901730ad5713b3283f6ec66603c72dfd9/src/MAT_HDF5.jl#L535
The requirement seems more to be that fieldcount(T) > 0, regardless of the actual bits type.

Can someone confirm this ?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/MAT_HDF5.jl around lines 529-536 and review the related reports in issues #162 and #143. Determine the intended CompositeKind behavior for user-defined types with fields, then verify that the implementation consistently handles the reported cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
data
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.