Open
Description
Description
No response
Reproduction
import SwiftUI
struct TextView: View {
@State var text: String = "hello"
func getter() -> String {
return text
}
func setter(_ v: String) {
text = v
}
var body: some View {
TextField("T", text: Binding(get: getter, set: setter))
// Using:
// TextField("T", text: Binding(get:{ return getter() }, set: { v in setter(v) }))
// instead compiles without an issue.
}
}
Complie with swift -swift-version 6 view.swift
. Compiling with swift -swift-version 5 view.swift
does not crash.
Stack dump
% swift -swift-version 6 view.swift
<unknown>:0: error: fatal error encountered during compilation; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
<unknown>:0: note: SmallVector unable to grow. Requested capacity (4294967298) is larger than maximum value for size type (4294967295)
Stack dump:
0. Program arguments: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -interpret view.swift -enable-objc-interop -stack-check -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -color-diagnostics -Xcc -fcolor-diagnostics -swift-version 6 -new-driver-path /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-driver -empty-abi-descriptor -no-auto-bridging-header-chaining -module-name view -disable-clang-spi -target-sdk-version 26.0 -target-sdk-name macosx26.0 -external-plugin-path /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/swift/host/plugins#/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server -external-plugin-path /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/local/lib/swift/host/plugins#/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/swift-plugin-server -in-process-plugin-server-path /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -plugin-path /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/lib/swift/host/plugins
1. Apple Swift version 6.2 (swiftlang-6.2.0.10.950 clang-1700.3.10.950)
2. Compiling with the current language version
3. While running user code "view.swift"
4. While evaluating request IRGenRequest(IR Generation for module view)
5. While emitting IR SIL function "@$sSSScA_pSgIeAghgg_SSIeAghn_TR".
for <<debugloc at "<compiler-generated>":0:0>>Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 swift-frontend 0x000000010cfebbc8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 40
1 swift-frontend 0x000000010cfe9279 llvm::sys::RunSignalHandlers() + 233
2 swift-frontend 0x000000010cfec185 SignalHandler(int, __siginfo*, void*) + 261
3 libsystem_platform.dylib 0x00007ff81650225d _sigtramp + 29
4 libswiftCore.dylib 0x00007ff82856a647 $ss11_StringGutsV23prepareForAppendInPlace33_408A76AB043BD3EFBAB6FAAAAA9B4914LL10totalCount09otherUTF8O0ySi_SitF + 471
5 libsystem_c.dylib 0x00007ff8163e873e abort + 126
6 swift-frontend 0x00000001062ea2b2 swift::DiagnosticHelper::Implementation::diagnoseFatalError(char const*, bool) + 850
7 swift-frontend 0x000000010cf4ecea llvm::report_fatal_error(llvm::Twine const&, bool) + 394
8 swift-frontend 0x000000010cf882a2 report_size_overflow(unsigned long, unsigned long) + 210
9 swift-frontend 0x000000010cf87f4f llvm::SmallVectorBase<unsigned int>::grow_pod(void*, unsigned long, unsigned long) + 447
10 swift-frontend 0x00000001063a45d9 (anonymous namespace)::SyncCallEmission::setArgs(swift::irgen::Explosion&, bool, swift::irgen::WitnessMetadata*) + 873
11 swift-frontend 0x000000010665beed (anonymous namespace)::IRGenSILFunction::visitFullApplySite(swift::FullApplySite) + 5677
12 swift-frontend 0x0000000106627e01 (anonymous namespace)::IRGenSILFunction::visitSILBasicBlock(swift::SILBasicBlock*) + 2305
13 swift-frontend 0x00000001066261c8 (anonymous namespace)::IRGenSILFunction::emitSILFunction() + 18792
14 swift-frontend 0x00000001066212c7 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 3319
15 swift-frontend 0x00000001063ff914 swift::irgen::IRGenerator::emitLazyDefinitions() + 6852
16 swift-frontend 0x00000001065be7c2 swift::IRGenRequest::evaluate(swift::Evaluator&, swift::IRGenDescriptor) const + 5266
17 swift-frontend 0x000000010661fd8e swift::SimpleRequest<swift::IRGenRequest, swift::GeneratedModule (swift::IRGenDescriptor), (swift::RequestFlags)17>::evaluateRequest(swift::IRGenRequest const&, swift::Evaluator&) + 206
18 swift-frontend 0x00000001065caf3c swift::IRGenRequest::OutputType swift::Evaluator::getResultUncached<swift::IRGenRequest, swift::IRGenRequest::OutputType swift::evaluateOrFatal<swift::IRGenRequest>(swift::Evaluator&, swift::IRGenRequest)::'lambda'()>(swift::IRGenRequest const&, swift::IRGenRequest::OutputType swift::evaluateOrFatal<swift::IRGenRequest>(swift::Evaluator&, swift::IRGenRequest)::'lambda'()) + 1036
19 swift-frontend 0x00000001065c0193 swift::performIRGeneration(swift::ModuleDecl*, swift::IRGenOptions const&, swift::TBDGenOptions const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>, llvm::StringRef, swift::PrimarySpecificPaths const&, llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, llvm::GlobalVariable**) + 403
20 swift-frontend 0x0000000105f36cda generateModule(swift::CompilerInstance const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>) + 394
21 swift-frontend 0x0000000105f37a59 swift::EagerSwiftMaterializationUnit::materialize(std::__1::unique_ptr<llvm::orc::MaterializationResponsibility, std::__1::default_delete<llvm::orc::MaterializationResponsibility>>) + 73
22 swift-frontend 0x0000000105f4ed89 llvm::orc::MaterializationTask::run() + 41
23 swift-frontend 0x0000000105f51d29 llvm::orc::ExecutionSession::dispatchOutstandingMUs() + 313
24 swift-frontend 0x0000000105f61b23 llvm::orc::InProgressFullLookupState::complete(std::__1::unique_ptr<llvm::orc::InProgressLookupState, std::__1::default_delete<llvm::orc::InProgressLookupState>>) + 7235
25 swift-frontend 0x0000000105f497a1 llvm::orc::ExecutionSession::OL_applyQueryPhase1(std::__1::unique_ptr<llvm::orc::InProgressLookupState, std::__1::default_delete<llvm::orc::InProgressLookupState>>, llvm::Error) + 2833
26 swift-frontend 0x0000000105f48c4f llvm::orc::ExecutionSession::lookup(llvm::orc::LookupKind, std::__1::vector<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolLookupSet, llvm::orc::SymbolState, llvm::unique_function<void (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef>>>)>, std::__1::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>, llvm::DenseMapInfo<llvm::orc::JITDylib*, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>>> const&)>) + 1247
27 swift-frontend 0x0000000105f51ee9 llvm::orc::ExecutionSession::lookup(std::__1::vector<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolLookupSet, llvm::orc::LookupKind, llvm::orc::SymbolState, std::__1::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>, llvm::DenseMapInfo<llvm::orc::JITDylib*, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>>> const&)>) + 329
28 swift-frontend 0x0000000105f522b2 llvm::orc::ExecutionSession::lookup(std::__1::vector<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolStringPtr, llvm::orc::SymbolState) + 226
29 swift-frontend 0x0000000105f3411a swift::SwiftJIT::runMain(llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>) + 522
30 swift-frontend 0x0000000105f4153b swift::RunImmediately(swift::CompilerInstance&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, swift::IRGenOptions const&, swift::SILOptions const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>&&) + 1435
31 swift-frontend 0x0000000105eb21f1 processCommandLineAndRunImmediately(swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>&&, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::FrontendObserver*, int&) + 545
32 swift-frontend 0x0000000105eac666 performCompileStepsPostSILGen(swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule>>, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 2374
33 swift-frontend 0x0000000105eabb49 swift::performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 3401
34 swift-frontend 0x0000000105eb0115 performCompile(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 6277
35 swift-frontend 0x0000000105ead9c6 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 4406
36 swift-frontend 0x0000000105e1bf1c swift::mainEntry(int, char const**) + 6524
37 dyld 0x00007ff816124530 start + 3056
Expected behavior
I would expect the compiler to not crash.
Environment
swiftc --version
swift-driver version: 1.127.5.3 Apple Swift version 6.2 (swiftlang-6.2.0.10.950 clang-1700.3.10.950)
Target: x86_64-apple-macosx15.0
Also crashes with earlier compiler versions (e.g. swift-driver version: 1.120.5 Apple Swift version 6.1.2 (swiftlang-6.1.2.1.2 clang-1700.0.13.5))
Additional information
No response