{"record":{"id":"bc0fa2c696d254b3","repo":"sharkdp/bat","slug":"acknowledgements-is-not-the-empty-string","errorCode":null,"errorMessage":"acknowledgements is not the empty string","messagePattern":"acknowledgements is not the empty string","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/assets/build_assets/acknowledgements.rs","lineNumber":137,"sourceCode":"}\n\nfn license_contains_marker(license_text: &str, markers: &[&str]) -> bool {\n    let normalized_license_text = normalize_license_text(license_text);\n    markers.iter().any(|m| normalized_license_text.contains(m))\n}\n\nfn append_to_acknowledgements(\n    acknowledgements: &mut String,\n    relative_path: &str,\n    license_text: &str,\n) {\n    write!(acknowledgements, \"## {relative_path}\\n\\n{license_text}\").ok();\n\n    // Make sure the last char is a newline to not mess up formatting later\n    if acknowledgements\n        .chars()\n        .last()\n        .expect(\"acknowledgements is not the empty string\")\n        != '\\n'\n    {\n        acknowledgements.push('\\n');\n    }\n\n    // Add two more newlines to make it easy to distinguish where this text ends\n    // and the next starts\n    acknowledgements.push_str(\"\\n\\n\");\n}\n\n/// Replaces newlines with a space character, and replaces multiple spaces with one space.\n/// This makes the text easier to analyze.\nfn normalize_license_text(license_text: &str) -> String {\n    use regex::Regex;\n\n    let whitespace_and_newlines = Regex::new(r\"\\s\").unwrap();\n    let as_single_line = whitespace_and_newlines.replace_all(license_text, \" \");\n","sourceCodeStart":119,"sourceCodeEnd":155,"githubUrl":"https://github.com/sharkdp/bat/blob/b671e53c2cd0177beb357cf6cb997ee4215c7155/src/assets/build_assets/acknowledgements.rs#L119-L155","documentation":"Error \"acknowledgements is not the empty string\" thrown in sharkdp/bat.","triggerScenarios":"Thrown at src/assets/build_assets/acknowledgements.rs:137 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b671e53c2cd0177beb357cf6cb997ee4215c7155","analyzedAt":"2026-08-16T08:15:54.742Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}