JuliaIO / JuliaIO/StructIO.jl

Document what works and what doesn't

Open
#23 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
27
Forks
9
PR merge metrics
No merged PRs in 30d

Description

Some data types surprisingly works, and some data types unsurprisingly doesn't work

using StructIO
using EnumX
using StaticArrays

# Some data types that surprisingly works

@enumx RetCode::Int8 begin
    NO_ERROR
    INVALID_ERROR
    HELLO_WORLD
    STREIBOUGH
end

@io struct Reply
    rc::RetCode.T
    result::Int
end align_packed #StructIO works with EnumX enums

@io struct Nested
    msgid::UInt8
    msg::Reply
end align_packed #StructIO can successfully deserialize nested structs

@io struct Fixed
    num::Int
    vec::SVector{16,UInt8}
end align_packed #StructIO works with StaticArrays

#Some data types that doesn't work

@io struct Cursed
    st::String
    num::Int
end align_packed # Unsurprisingly doesn't work as string is a variable length array

@io struct Trailing
    num::Int
    vec::Vector{UInt8}
end align_packed 

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 with the Julia examples in the issue; no documentation file or test entry point is named. Locate the project’s existing documentation and relevant behavior coverage, then document which listed types work or do not work, including enums, nested structs, StaticArrays, strings, and trailing vectors.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.