Update Rust crate sugar_path to v3#413
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.0→3.0.0Release Notes
hyf0/sugar_path (sugar_path)
v3.0.0Compare Source
Breaking redesign of the public path APIs for borrowing, explicit cwd, and owned-buffer reuse (#40). Public docs and continuous CI allocation gates were aligned with that surface (#42). Performance baselines landed first as PR #41.
Added
try_absolutizeandtry_relativefor callers that handle ambient current-directory errors.relative_withfor relative calculation against an explicit externally managed cwd.PathBufvalues.PathBufnormalization through the sealedSugarPathBufextension trait.Changed
SugarPathas an extension-method namespace implemented directly forPathandstr; owned standard types and string wrappers continue to use it through deref method lookup.relativeto returnCow<Path>directly, borrowing a canonical descendant suffix when possible; callers requiringPathBufuseCow::into_owned.to_slashto the ergonomic strict conversion that panics for invalid Unicode, and move the non-replacing fallible contract totry_to_slash.absolutize_withandrelative_withto accept borrowed or owned cwd values directly without requiring callers to constructCow; an ownedPathBufmay transfer its allocation.PathandOsStrbehavior for path operations; only conversion to Unicode chooses strict, fallible, or lossy policy.Fixed
/characters inside Windows verbatim components, keep or insert the minimal.\needed to prevent a normal component from becoming a prefix during normalization, and return the normalized target when a component cannot be represented as a standalone native relative path.Performance
relativecalls on Unix and Windows.PathBuf, and valid-Unicode slash-conversion buffers where possible.memchr, and target-specific common-prefix scanning for Rolldown-shaped paths.Migration
.into_owned()torelative(base)only where the former ownedPathBufresult is still required.relative(base).to_slash_lossy().into_owned()withrelative(base).into_owned().into_slash(); otherwise select the strict fallible or explicitly lossy conversion that matches the caller's encoding policy.to_slash().unwrap()withto_slash()when valid UTF-8 is an invariant, and usetry_to_slash()when invalid encoding is recoverable.absolutize_withandrelative_with; do not wrap it inCow::BorrowedorCow::Owned.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.