{"id":15706331,"url":"https://github.com/langston-barrett/icemelter","last_synced_at":"2025-04-13T15:35:59.964Z","repository":{"id":143206611,"uuid":"615111569","full_name":"langston-barrett/icemelter","owner":"langston-barrett","description":"Icemelter automates steps in debugging rustc internal compiler errors (ICEs)","archived":false,"fork":false,"pushed_at":"2025-03-24T06:56:04.000Z","size":321,"stargazers_count":5,"open_issues_count":17,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T06:34:33.480Z","etag":null,"topics":["bisection","debugging-tool","rust","test-case-minimization","test-case-reduction"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/langston-barrett.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-17T01:14:27.000Z","updated_at":"2025-02-25T21:41:33.000Z","dependencies_parsed_at":"2023-04-20T12:49:20.579Z","dependency_job_id":"326d16b6-2f95-459d-86d4-6a99724e3456","html_url":"https://github.com/langston-barrett/icemelter","commit_stats":{"total_commits":209,"total_committers":2,"mean_commits":104.5,"dds":"0.23444976076555024","last_synced_commit":"f837cc08fea1c6f2d6ebc34b812238edaf1b51d6"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Ficemelter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Ficemelter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Ficemelter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langston-barrett%2Ficemelter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/langston-barrett","download_url":"https://codeload.github.com/langston-barrett/icemelter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248737311,"owners_count":21153744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bisection","debugging-tool","rust","test-case-minimization","test-case-reduction"],"created_at":"2024-10-03T20:22:21.518Z","updated_at":"2025-04-13T15:35:59.934Z","avatar_url":"https://github.com/langston-barrett.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Icemelter\n\nIcemelter automates steps in debugging rustc internal compiler errors (ICEs).\n\n## Features\n\n- Automatically minimizes files that cause the ICE (MCVEs)\\* \n- Runs [cargo-bisect-rustc][cargo-bisect-rustc]\n- `rustfmt`s MCVEs if doing so keeps the ICE\n- Generates copy-pasteable Markdown reports\n- Optionally downloads MCVEs from Github\n\n\\*It really works: Icemelter reduced a ~250 line file to just 4 lines in [#107454][#107454].\n\nMore features are [planned][issues].\n\n[#107454]: https://github.com/rust-lang/rust/issues/107454\n[cargo-bisect-rustc]: https://github.com/rust-lang/cargo-bisect-rustc\n[issues]: https://github.com/langston-barrett/icemelter/issues\n\n## Usage\n\nIcemelter works on standalone Rust files. If your file is named `ice.rs`, use\nit like so:\n\n```sh\nicemelter ice.rs\n```\n\nBy default, the result is stored to `melted.rs`. A few helpful flags:\n\n- `--output`: Change where the output file is written\n- `--bisect`: Bisect the regression with cargo-bisect-rustc\n- `--markdown`: Output a copy-pasteable report\n\nHere's an example that uses a different compiler and adds a flag:\n\n```sh\nicemelter ice.rs -- rustc +nightly --crate-type=lib\n```\n\nFor more options, see `--help`.\n\n## Installation\n\n### From a release\n\nStatically-linked Linux binaries are available on the [releases page][releases].\n\n### From crates.io\n\nYou can build a released version from [crates.io][crates-io]. You'll need the\nRust compiler and the [Cargo][cargo] build tool. [rustup][rustup] makes it very\neasy to obtain these. Then run:\n\n```sh\ncargo install icemelter\n```\n\nThis will install binaries in `~/.cargo/bin` by default.\n\n## Build\n\nTo build from source, you'll need the Rust compiler and the [Cargo][cargo] build\ntool. [rustup][rustup] makes it very easy to obtain these. Then, get the source:\n\n```sh\ngit clone https://github.com/langston-barrett/icemelter\ncd icemelter\n```\n\nFinally, build everything:\n\n```sh\ncargo build --release\n```\n\nYou can find binaries in `target/release`. Run tests with `cargo test`.\n\n## How it works\n\nIcemelter's minimization capabilities are built on\n[`treereduce-rust`][treereduce].\n\n[cargo]: https://doc.rust-lang.org/cargo/\n[crates-io]: https://crates.io/\n[releases]: https://github.com/langston-barrett/icemelter/releases\n[rustup]: https://rustup.rs/\n[treereduce]: https://github.com/langston-barrett/treereduce\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flangston-barrett%2Ficemelter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flangston-barrett%2Ficemelter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flangston-barrett%2Ficemelter/lists"}