TL;DR: Use var for properties in struct as long as it serves as a nominal tuple. In most cases, there is no obvious benefit to using let for struct properties.
Let's start with a simple example:
struct MyStruct {| diff --git a/comfy/ldm/genmo/vae/model.py b/comfy/ldm/genmo/vae/model.py | |
| index b68d48a..694b33a 100644 | |
| --- a/comfy/ldm/genmo/vae/model.py | |
| +++ b/comfy/ldm/genmo/vae/model.py | |
| @@ -78,7 +78,12 @@ class PConv3d(ops.Conv3d): | |
| # Apply padding. | |
| assert self.padding_mode == "replicate" # DEBUG | |
| mode = "constant" if self.padding_mode == "zeros" else self.padding_mode | |
| + is_mps_device = x.device.type == "mps" | |
| + if is_mps_device: |
| #!/usr/bin/env xcrun swift | |
| import Foundation | |
| import MetalPerformanceShaders | |
| import MetalPerformanceShadersGraph | |
| let device = MTLCreateSystemDefaultDevice()! | |
| //let size = 256 * 256 - 1 // This size should work | |
| let size = 256 * 256 // This size may not work |
| #!/usr/bin/env ruby | |
| require 'optparse' | |
| require 'pathname' | |
| def update_name(name, options) | |
| pattern = /#{options[:rpath]}/ | |
| if name =~ pattern | |
| suffix = $' | |
| if options[:path].join(suffix).exist? |
This is the tale of a long weekend spent uncovering a mysterious iOS 18 Neural Engine bug—a journey of problem-solving in a system where full visibility is elusive, especially in the locked-down world of Apple’s platforms. But the process I followed is a general approach you can use for any opaque system. It all began last week when I stumbled upon a strange behavior in my iOS app. The output generated from a CoreML model was completely broken—something I had never seen before. And after some digging, I realized this only happened when the model was running on the Neural Engine of iOS 18. The first step was triage. I implemented a quick workaround in the app: if the device is running iOS 18, switch from the Neural Engine to the GPU. This temporarily solved the issue, but I had no idea why it worked or whether other CoreML models in the app’s pipeline might also be affected. Without a deeper understanding of the root cause, I knew I cou
| /* | |
| Copyright (c) 2024 Yoshimasa Niwa | |
| Permission is hereby granted, free of charge, to any person obtaining | |
| a copy of this software and associated documentation files (the | |
| "Software"), to deal in the Software without restriction, including | |
| without limitation the rights to use, copy, modify, merge, publish, | |
| distribute, sublicense, and/or sell copies of the Software, and to | |
| permit persons to whom the Software is furnished to do so, subject to | |
| the following conditions: |
| commit 6ac1a2feb7143a8bc0e57af5c8dc57cbbb05d85f | |
| Author: Yoshimasa Niwa <[email protected]> | |
| Date: Fri Apr 19 22:14:55 2024 -0700 | |
| wip | |
| diff --git a/3_bidirectional_cxx_interop/include/fibonacci/fibonacci.h b/3_bidirectional_cxx_interop/include/fibonacci/fibonacci.h | |
| index 911e7d7..ed3f909 100644 | |
| --- a/3_bidirectional_cxx_interop/include/fibonacci/fibonacci.h | |
| +++ b/3_bidirectional_cxx_interop/include/fibonacci/fibonacci.h |
| import AppKit | |
| import Foundation | |
| final class MainView: NSView { | |
| private let textView: NSTextView | |
| override init(frame frameRect: NSRect) { | |
| textView = NSTextView(usingTextLayoutManager: true) | |
| super.init(frame: frameRect) |
| # Usage | |
| # ===== | |
| # | |
| # ## Prerequisite | |
| # | |
| # Prepare Python 3, for exmaple, install Homebrew and `brew install python`. | |
| # | |
| # ## Install dependencies | |
| # | |
| # $ python3 -m venv .venv |
| import Foundation | |
| extension String: Error {} | |
| // MARK: - Parser Combinator | |
| typealias ParserFunction<Element, Output> = | |
| (any Collection<Element>) throws -> (Output, any Collection<Element>) | |
| protocol Parser<Element, Output> { |