Skip to content

Conversation

@joshlf
Copy link
Member

@joshlf joshlf commented Feb 6, 2026


This PR is on branch hermes.

Latest Update: v49 — Compare vs v48

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v48 v47 v46 v45 v44 v43 v42 v41 v40 v39 v38 v37 v36 v35 v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v49 v48 v47 v46 v45 v44 v43 v42 v41 v40 v39 v38 v37 v36 v35 v34 v33 v32 v31 v30 v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v48 v47 Base
v47 v46 Base
v46 v45 Base
v45 v44 Base
v44 v43 Base
v43 v42 Base
v42 v41 Base
v41 v40 Base
v40 v39 Base
v39 v38 Base
v38 v37 Base
v37 v36 Base
v36 v35 Base
v35 v34 Base
v34 v33 Base
v33 v32 Base
v32 v31 Base
v31 v30 Base
v30 v29 Base
v29 v28 Base
v28 v27 Base
v27 v26 Base
v26 v25 Base
v25 v24 Base
v24 v23 Base
v23 v22 Base
v22 v21 Base
v21 v20 Base
v20 v19 Base
v19 v18 Base
v18 v17 Base
v17 v16 Base
v16 v15 Base
v15 v14 Base
v14 v13 Base
v13 v12 Base
v12 v11 Base
v11 v10 Base
v10 v9 Base
v9 v8 Base
v8 v7 Base
v7 v6 Base
v6 v5 Base
v5 v4 Base
v4 v3 Base
v3 v2 Base
v2 v1 Base
v1 Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/G3b521f32cf769ffedd72f84e60f1e73a8d590e4c && git checkout -b pr-G3b521f32cf769ffedd72f84e60f1e73a8d590e4c FETCH_HEAD

Checkout

git fetch origin refs/heads/G3b521f32cf769ffedd72f84e60f1e73a8d590e4c && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/G3b521f32cf769ffedd72f84e60f1e73a8d590e4c && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/G3b521f32cf769ffedd72f84e60f1e73a8d590e4c

Stacked PRs enabled by GHerrit.

@gemini-code-assist
Copy link
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@codecov-commenter
Copy link

codecov-commenter commented Feb 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.87%. Comparing base (b7fc71d) to head (9fb6e3f).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3002   +/-   ##
=======================================
  Coverage   91.87%   91.87%           
=======================================
  Files          20       20           
  Lines        6057     6057           
=======================================
  Hits         5565     5565           
  Misses        492      492           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@joshlf
Copy link
Member Author

joshlf commented Feb 7, 2026

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the hermes parser crate. The initial implementation provides a solid foundation for parsing Rust source files and extracting specific documentation blocks. The code is well-structured, using syn for parsing and miette for diagnostics.

My review focuses on improving code quality and dependency management. I've identified a dependency on a yanked version of thiserror, some dead code, and leftover debugging statements that should be addressed.

Overall, this is a great start for the new parser.

miette = { version = "7.6.0", features = ["derive", "fancy"] }
proc-macro2 = { version = "1.0.105", features = ["span-locations"] }
syn = { version = "2.0.114", features = ["full", "visit", "extra-traits", "parsing"] }
thiserror = "2.0.18"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The thiserror dependency is pinned to version 2.0.18, which has been yanked from crates.io. Relying on yanked versions is not recommended as they may contain bugs or security vulnerabilities and can make dependency management difficult. Please update to a stable version of thiserror, such as "1.0".

Suggested change
thiserror = "2.0.18"
thiserror = "1.0"

Comment on lines +12 to +29
/// A custom error type that associates a `syn::Error` with the file path
/// it originated from.
#[derive(Debug)]
pub struct ParseError {
error: Error,
source_file: Option<PathBuf>,
}

impl std::fmt::Display for ParseError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
if let Some(path) = &self.source_file {
write!(f, "{}: {}", path.display(), self.error)
} else {
write!(f, "{}", self.error)
}
}
}
impl std::error::Error for ParseError {}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The ParseError struct and its Display and Error implementations appear to be unused within the crate. This seems to be dead code and should be removed to improve maintainability.

Comment on lines +92 to +103
let file_name = {
let f = source_file
.as_ref()
.map(|p| p.display().to_string())
.unwrap_or_else(|| "<input>".to_string());
dbg!(&f);
f
};
let _x = source_file
.as_ref()
.map(|p| p.display().to_string())
.unwrap_or_else(|| "<input>".to_string());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be some leftover debugging code here. The dbg! macro is used, and the _x variable is assigned but never used. This code should be cleaned up for production.

    let file_name = source_file
        .as_ref()
        .map(|p| p.display().to_string())
        .unwrap_or_else(|| "<input>".to_string());

gherrit-pr-id: G3b521f32cf769ffedd72f84e60f1e73a8d590e4c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants