-
Notifications
You must be signed in to change notification settings - Fork 1.7k
rust: support audio #4566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
rust: support audio #4566
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
b53e1a1
rust: support images and generic blob sequences
wchargin d2ceae4
rust: pass summary metadata to `into_blob_sequence`
wchargin a1c4362
rust: support audio
wchargin 04eaddf
[rust-audio: update diffbase]
wchargin fe3f131
[rust-audio: update patch]
wchargin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(no action needed) Initially, I thought it was curious that we don't have to write
mut selfin the signature, but since the function takes ownership, it is implied that 'self' can be mutated. Is this understanding correct?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kind of. The
mutinx: mut selfis a property of the variablebinding, not the type. To demonstrate the orthogonality, consider:
The first
mutmeans that it’s legal to writex = &mut xs[1]:reassigning to the variable binding. This is entirely up to the call
site, like
const/letin JavaScript.The second
mutmeans that it’s legal to write*x = 0, mutating thevalue behind the binding. This is a property of the type, like
ReadonlyArray/Arrayin TypeScript: if I give you a read-only array,you can’t just choose to interpret it as an
Array.It can often be useful to have a mutable binding even if the value is at
an immutable reference type:
The mutability of the binding is always at the discretion of the caller,
and doesn’t affect types or APIs. The caller can change it at will:
The code in this PR is analogous. We bind
selfimmutably, and we don’tmodify
self. But in theTensorclause of thematchexpression, webind
tpmutably, so that we can callchunks_exact_mut.So your claim that
is correct, in a way. It’s implied that
selfcan be changed to amutable binding since the binding is always “owned” by the function.