Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/layout/target.rs')
| -rw-r--r-- | crates/hir-ty/src/layout/target.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/hir-ty/src/layout/target.rs b/crates/hir-ty/src/layout/target.rs index 93dcd79e12..adfae0a1ab 100644 --- a/crates/hir-ty/src/layout/target.rs +++ b/crates/hir-ty/src/layout/target.rs @@ -12,6 +12,13 @@ pub fn target_data_layout_query( krate: CrateId, ) -> Option<Arc<TargetDataLayout>> { let crate_graph = db.crate_graph(); - let target_layout = crate_graph[krate].target_layout.as_ref()?; - Some(Arc::new(TargetDataLayout::parse_from_llvm_datalayout_string(&target_layout).ok()?)) + let target_layout = crate_graph[krate].target_layout.as_ref().ok()?; + let res = TargetDataLayout::parse_from_llvm_datalayout_string(&target_layout); + if let Err(_e) = &res { + // FIXME: Print the error here once it implements debug/display + // also logging here is somewhat wrong, but unfortunately this is the earliest place we can + // parse that doesn't impose a dependency to the rust-abi crate for project-model + tracing::error!("Failed to parse target data layout for {krate:?}"); + } + res.ok().map(Arc::new) } |