| 255 | } |
| 256 | |
| 257 | pub(crate) fn resolve_absolute( |
| 258 | &self, |
| 259 | query: impl IntoIterator<Item = Symbol<'heap>>, |
| 260 | ) -> Result<ResolveIter<'heap>, ResolutionError<'heap>> { |
| 261 | let mut query = query.into_iter(); |
| 262 | |
| 263 | let Some(name) = query.next() else { |
| 264 | return Err(ResolutionError::InvalidQueryLength { expected: 2 }); |
| 265 | }; |
| 266 | |
| 267 | let Some(module) = self.registry.find_by_name(name) else { |
| 268 | return Err(ResolutionError::PackageNotFound { |
| 269 | depth: 0, |
| 270 | name, |
| 271 | suggestions: self.suggest(|| self.registry.suggestions()), |
| 272 | }); |
| 273 | }; |
| 274 | |
| 275 | self.resolve_impl(query, module) |
| 276 | } |
| 277 | |
| 278 | fn resolve_import_single( |
| 279 | &self, |