Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Improve error messages with custom serde deserialisation functions

Open
#1,491 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
data

Research direction

Start by locating the custom serde deserialisation functions and the CSV input-loading path, then compare their errors with the clearer TOML output shown here. Done means CSV deserialisation errors provide similarly clear context for invalid values, while preserving the existing record and line information.

Written by the indexing model from the issue text.

Description

The lack of clarity in the error output is consistent with other times this custom deserialisation is used in the code.

One thing worth noting, is that when it is used with a toml input file, the error message is quite clear. For example

[16:53:05 ERROR muse2] Failed to load model.

Caused by:
    0: Error reading /private/var/folders/td/5nhj1569101bqjj_vmltr_7r0000gp/T/.tmpaxxQee/circularity/model.toml
    1: TOML parse error at line 2, column 19
         |
       2 | capacity_margin = -0.3
         |                   ^^^^
       Value must be a finite number greater than or equal to zero

But it's less clear with CSV input files

[16:53:19 ERROR muse2] Failed to load model.

Caused by:
    0: Error reading /private/var/folders/td/5nhj1569101bqjj_vmltr_7r0000gp/T/.tmpzLMuo8/circularity/agent_commodity_portions.csv
    1: CSV deserialize error: record 11 (line: 12, byte: 246): Value must be > 0 and <= 1

Originally posted by @AdrianDAlessandro in https://github.com/EnergySystemsModellingLab/MUSE2/issues/1485#issuecomment-5282971078

Dominant language
Rust
Stars
8
Forks
5
Avg merge
11h 31m
Merged PRs (30d)
33

Contributor guide

Open the contributing guide

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.

More from EnergySystemsModellingLab/MUSE2

All issues in EnergySystemsModellingLab/MUSE2

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.