Skip to content

mut/ref/own and borrow checking#1236

Merged
sbillig merged 133 commits intoargotorg:masterfrom
sbillig:mut
Feb 18, 2026
Merged

mut/ref/own and borrow checking#1236
sbillig merged 133 commits intoargotorg:masterfrom
sbillig:mut

Conversation

@sbillig
Copy link
Collaborator

@sbillig sbillig commented Feb 4, 2026

No description provided.

@sbillig sbillig changed the title mut/ref/move mut/ref/own and borrow checking Feb 17, 2026
@sbillig sbillig marked this pull request as ready for review February 17, 2026 06:31
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 03d203f4ee

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +67 to +69
for err in output.internal_errors {
tracing::debug!(target: "lsp", "MIR diagnostics internal error: {err}");
}

Choose a reason for hiding this comment

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

P1 Badge Surface MIR internal errors as check failures

mir_diagnostics_for_ingot discards collect_mir_diagnostics(...).internal_errors after a debug log and returns only CompleteDiagnostics, so callers like fe check can report success even when MIR lowering failed (for example on MirLowerError::Unsupported) and later compilation paths will fail. Internal MIR errors need to be promoted to emitted diagnostics or treated as hard errors here to avoid false-negative checks.

Useful? React with 👍 / 👎.

Comment on lines +730 to +731
let mir_output = collect_mir_diagnostics(db, top_mod, MirDiagnosticsMode::CompilerParity);
if !mir_output.diagnostics.is_empty() {

Choose a reason for hiding this comment

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

P2 Badge Fail single-file check when MIR lowering has internal errors

In single-file mode, check_single_file only checks mir_output.diagnostics and ignores mir_output.internal_errors, so MIR lowering failures can be silently dropped and the command can continue as if the file is clean. This creates a mismatch where fe check passes but downstream compile/codegen still fails; the internal error list should be surfaced and counted as an error.

Useful? React with 👍 / 👎.

Copy link
Collaborator

@micahscopes micahscopes left a comment

Choose a reason for hiding this comment

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

awesome! 🏛️📚🪪

[profile.test.package.sonatina-codegen]
opt-level = 3
[profile.dev.package]
revm = { opt-level = 3 }
Copy link
Collaborator

Choose a reason for hiding this comment

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

you can also increase the number of parallel jobs for fe test, right now I think I set it to 4 because 32 was destroying my computer

@sbillig sbillig merged commit 368da1b into argotorg:master Feb 18, 2026
5 checks passed
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