Skip to content

[SR-12355] Memory ownership verification failure with -O #54789

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

Closed
porterchild opened this issue Mar 12, 2020 · 3 comments
Closed

[SR-12355] Memory ownership verification failure with -O #54789

porterchild opened this issue Mar 12, 2020 · 3 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler itself

Comments

@porterchild
Copy link

Previous ID SR-12355
Radar rdar://problem/60832805
Original Reporter @porterchild
Type Bug
Status Resolved
Resolution Done
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug
Assignee None
Priority Medium

md5: 1bb6c92c3c5d2b6ef096d5e7cc2d1d10

Issue Description:

Here is a mini-fied reproducer of some code that causes a compiler crash (only when compiling with optimizations).

public struct Straducken {
    struct A {
        var things = Array<Int>()
    }
    
    var a = A()

    mutating func moreOfAFunctionReally() {
        var n = 0
        for _ in 0..<1{
           n += 1
        }
                
        self.a = A()
        self.a.things = []
    }
}

If I get rid of the loop, `self.a = A()`, or `self.a.things = []`, it builds.

Crash info summary:

SIL memory lifetime failure in @$s6delete10StraduckenV21moreOfAFunctionReallyyyF: memory is not initialized, but should 
memory location:   %80 = struct_element_addr %79 : $*Straducken.A, #Straducken.A.things // user: %81 
at instruction:   debug_value_addr %0 : $*Straducken, var, name "self", argno 1 // id: %3

Full crash info:

CompileSwift normal x86_64 /Users/porter/Dropbox\ (PassiveLogic)/Team/Team\ Members\ Scratch\ Space/Porter/Experiments/Playgrounds/delete/delete/main.swift (in target 'delete' from project 'delete')
    cd /Users/porter/Dropbox\ (PassiveLogic)/Team/Team\ Members\ Scratch\ Space/Porter/Experiments/Playgrounds/delete
    /Library/Developer/Toolchains/swift-tensorflow-DEVELOPMENT-2020-03-04-a.xctoolchain/usr/bin/swift -frontend -c /Users/porter/Dropbox\ \(PassiveLogic\)/Team/Team\ Members\ Scratch\ Space/Porter/Experiments/Playgrounds/delete/delete/main.swift -emit-module-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete.swiftmodule -emit-module-doc-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete.swiftdoc -emit-module-source-info-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete.swiftsourceinfo -serialize-diagnostics-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete-master.dia -emit-objc-header-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete-Swift.h -emit-dependencies-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete-master.d -target x86_64-apple-macos10.14 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Products/Release -F /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Products/Release -g -module-cache-path /Users/porter/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity=unchecked -O -remove-runtime-asserts -serialize-debugging-options -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-generated-files.hmap -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-own-target-headers.hmap -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-all-target-headers.hmap -Xcc -iquote -Xcc /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-project-headers.hmap -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Products/Release/include -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/DerivedSources-normal/x86_64 -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/DerivedSources/x86_64 -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/DerivedSources -Xcc -working-directory/Users/porter/Dropbox\ \(PassiveLogic\)/Team/Team\ Members\ Scratch\ Space/Porter/Experiments/Playgrounds/delete -module-name delete -num-threads 4 -o /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/main.o


SIL memory lifetime failure in @$s6delete10StraduckenV21moreOfAFunctionReallyyyF: memory is not initialized, but should
memory location:   %80 = struct_element_addr %79 : $*Straducken.A, #Straducken.A.things // user: %81
at instruction:   debug_value_addr %0 : $*Straducken, var, name "self", argno 1 // id: %3


in function:
// Straducken.moreOfAFunctionReally()
sil hidden [ossa] @$s6delete10StraduckenV21moreOfAFunctionReallyyyF : $@convention(method) (@inout Straducken) -> () {
// %0                                             // users: %1, %78, %68, %64, %3
bb0(%0 : $*Straducken):
  %1 = struct_element_addr %0 : $*Straducken, #Straducken.a // user: %2
  destroy_addr %1 : $*Straducken.A                // id: %2
  debug_value_addr %0 : $*Straducken, var, name "self", argno 1 // id: %3
  %4 = alloc_stack $Int, var, name "n"            // users: %83, %7, %50
  %5 = integer_literal $Builtin.Int64, 0          // user: %6
  %6 = struct $Int (%5 : $Builtin.Int64)          // user: %7
  store %6 to [trivial] %4 : $*Int                // id: %7
  %8 = alloc_stack $IndexingIterator<Range<Int>>, var, name "$generator" // users: %32, %63, %40
  %9 = alloc_stack $Range<Int>                    // users: %24, %35, %28
  %10 = metatype $@thin Int.Type
  %11 = integer_literal $Builtin.Int64, 0         // user: %12
  %12 = struct $Int (%11 : $Builtin.Int64)        // user: %20
  %13 = integer_literal $Builtin.Int64, 1         // user: %14
  %14 = struct $Int (%13 : $Builtin.Int64)        // user: %22
  br bb1                                          // id: %15


bb1:                                              // Preds: bb0
  br bb3                                          // id: %16


bb2:                                              // Preds: bb4
  %17 = tuple ()
  %18 = metatype $@thin Range<Int>.Type           // user: %24
  %19 = alloc_stack $Int                          // users: %20, %26, %24
  store %12 to [trivial] %19 : $*Int              // id: %20
  %21 = alloc_stack $Int                          // users: %22, %25, %24
  store %14 to [trivial] %21 : $*Int              // id: %22
  // function_ref Range.init(uncheckedBounds:)
  %23 = function_ref @$sSn15uncheckedBoundsSnyxGx5lower_x5uppert_tcfC : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin Range<τ_0_0>.Type) -> @out Range<τ_0_0> // user: %24
  %24 = apply %23<Int>(%9, %19, %21, %18) : $@convention(method) <τ_0_0 where τ_0_0 : Comparable> (@in τ_0_0, @in τ_0_0, @thin Range<τ_0_0>.Type) -> @out Range<τ_0_0>
  dealloc_stack %21 : $*Int                       // id: %25
  dealloc_stack %19 : $*Int                       // id: %26
  %27 = tuple ()
  %28 = load [trivial] %9 : $*Range<Int>          // user: %30
  %29 = alloc_stack $Range<Int>                   // users: %32, %34, %30
  store %28 to [trivial] %29 : $*Range<Int>       // id: %30
  // function_ref Collection<>.makeIterator()
  %31 = function_ref @$sSlss16IndexingIteratorVyxG0B0RtzrlE04makeB0ACyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection, τ_0_0.Iterator == IndexingIterator<τ_0_0>> (@in τ_0_0) -> @out IndexingIterator<τ_0_0> // user: %32
  %32 = apply %31<Range<Int>>(%8, %29) : $@convention(method) <τ_0_0 where τ_0_0 : Collection, τ_0_0.Iterator == IndexingIterator<τ_0_0>> (@in τ_0_0) -> @out IndexingIterator<τ_0_0>
  %33 = tuple ()
  dealloc_stack %29 : $*Range<Int>                // id: %34
  dealloc_stack %9 : $*Range<Int>                 // id: %35
  br bb5                                          // id: %36


bb3:                                              // Preds: bb1
  br bb4                                          // id: %37


bb4:                                              // Preds: bb3
  br bb2                                          // id: %38


bb5:                                              // Preds: bb6 bb2
  %39 = alloc_stack $Optional<Int>                // users: %42, %46, %45
  %40 = begin_access [modify] [static] %8 : $*IndexingIterator<Range<Int>> // users: %42, %44
  // function_ref IndexingIterator.next()
  %41 = function_ref @$ss16IndexingIteratorV4next7ElementQzSgyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element> // user: %42
  %42 = apply %41<Range<Int>>(%39, %40) : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element>
  %43 = tuple ()
  end_access %40 : $*IndexingIterator<Range<Int>> // id: %44
  %45 = load [trivial] %39 : $*Optional<Int>      // user: %47
  dealloc_stack %39 : $*Optional<Int>             // id: %46
  switch_enum %45 : $Optional<Int>, case #Optional.some!enumelt.1: bb6, case #Optional.none!enumelt: bb7 // id: %47


bb6(%48 : $Int):                                  // Preds: bb5
  %49 = integer_literal $Builtin.Int64, 1         // user: %54
  %50 = begin_access [modify] [static] %4 : $*Int // users: %59, %51, %61
  %51 = struct_element_addr %50 : $*Int, #Int._value // user: %52
  %52 = load [trivial] %51 : $*Builtin.Int64      // user: %54
  %53 = integer_literal $Builtin.Int1, -1         // user: %54
  %54 = builtin "sadd_with_overflow_Int64"(%52 : $Builtin.Int64, %49 : $Builtin.Int64, %53 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // user: %55
  (%55, %56) = destructure_tuple %54 : $(Builtin.Int64, Builtin.Int1) // users: %58, %57
  cond_fail %56 : $Builtin.Int1, "arithmetic overflow" // id: %57
  %58 = struct $Int (%55 : $Builtin.Int64)        // user: %59
  store %58 to [trivial] %50 : $*Int              // id: %59
  %60 = tuple ()
  end_access %50 : $*Int                          // id: %61
  br bb5                                          // id: %62


bb7:                                              // Preds: bb5
  dealloc_stack %8 : $*IndexingIterator<Range<Int>> // id: %63
  %64 = begin_access [read] [static] %0 : $*Straducken // users: %67, %65
  %65 = struct_element_addr %64 : $*Straducken, #Straducken.anotherA // user: %66
  %66 = load [copy] %65 : $*Straducken.A          // user: %70
  end_access %64 : $*Straducken                   // id: %67
  %68 = begin_access [modify] [static] %0 : $*Straducken // users: %71, %69
  %69 = struct_element_addr %68 : $*Straducken, #Straducken.a // user: %70
  store %66 to [init] %69 : $*Straducken.A        // id: %70
  end_access %68 : $*Straducken                   // id: %71
  %72 = integer_literal $Builtin.Word, 0          // user: %74
  // function_ref _allocateUninitializedArray<A>(_:)
  %73 = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %74
  %74 = apply %73<Int>(%72) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %75
  (%75, %76) = destructure_tuple %74 : $(Array<Int>, Builtin.RawPointer) // users: %81, %77
  %77 = pointer_to_address %76 : $Builtin.RawPointer to [strict] $*Int
  %78 = begin_access [modify] [static] %0 : $*Straducken // users: %82, %79
  %79 = struct_element_addr %78 : $*Straducken, #Straducken.a // user: %80
  %80 = struct_element_addr %79 : $*Straducken.A, #Straducken.A.things // user: %81
  store %75 to [assign] %80 : $*Array<Int>        // id: %81
  end_access %78 : $*Straducken                   // id: %82
  dealloc_stack %4 : $*Int                        // id: %83
  %84 = tuple ()                                  // user: %85
  return %84 : $()                                // id: %85
} // end sil function '$s6delete10StraduckenV21moreOfAFunctionReallyyyF'


Stack dump:
0.  Program arguments: /Library/Developer/Toolchains/swift-tensorflow-DEVELOPMENT-2020-03-04-a.xctoolchain/usr/bin/swift -frontend -c /Users/porter/Dropbox (PassiveLogic)/Team/Team Members Scratch Space/Porter/Experiments/Playgrounds/delete/delete/main.swift -emit-module-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete.swiftmodule -emit-module-doc-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete.swiftdoc -emit-module-source-info-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete.swiftsourceinfo -serialize-diagnostics-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete-master.dia -emit-objc-header-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete-Swift.h -emit-dependencies-path /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/delete-master.d -target x86_64-apple-macos10.14 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Products/Release -F /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Products/Release -g -module-cache-path /Users/porter/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity=unchecked -O -remove-runtime-asserts -serialize-debugging-options -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-generated-files.hmap -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-own-target-headers.hmap -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-all-target-headers.hmap -Xcc -iquote -Xcc /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/delete-project-headers.hmap -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Products/Release/include -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/DerivedSources-normal/x86_64 -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/DerivedSources/x86_64 -Xcc -I/Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/DerivedSources -Xcc -working-directory/Users/porter/Dropbox (PassiveLogic)/Team/Team Members Scratch Space/Porter/Experiments/Playgrounds/delete -module-name delete -num-threads 4 -o /Users/porter/Library/Developer/Xcode/DerivedData/delete-cpxqlajexuodreakyfqhzwdmsbxl/Build/Intermediates.noindex/delete.build/Release/delete.build/Objects-normal/x86_64/main.o 
1.  Swift version 5.2-dev (LLVM b3057cffb6, Swift c8bea53782)
2.  While verifying SIL function "@$s6delete10StraduckenV21moreOfAFunctionReallyyyF".
 for 'moreOfAFunctionReally()' (at /Users/porter/Dropbox (PassiveLogic)/Team/Team Members Scratch Space/Porter/Experiments/Playgrounds/delete/delete/main.swift:18:14)
0  swift                    0x000000010c417e75 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  swift                    0x000000010c4170b5 llvm::sys::RunSignalHandlers() + 85
2  swift                    0x000000010c41845c SignalHandler(int) + 268
3  libsystem_platform.dylib 0x00007fff695ee42d _sigtramp + 29
4  swift                    0x000000010e667000 (anonymous namespace)::DarwinX86AsmBackend::getCompactUnwindRegNum(unsigned int) const::CU64BitRegs + 255826
5  libsystem_c.dylib        0x00007fff694c3a1c abort + 120
6  swift                    0x000000010c6fb1c7 MemoryLifetimeVerifier::require(bool, llvm::Twine const&, int, swift::SILInstruction*) (.cold.1) + 55
7  swift                    0x0000000108c19820 MemoryLifetimeVerifier::require(bool, llvm::Twine const&, int, swift::SILInstruction*) + 624
8  swift                    0x0000000108c19b27 MemoryLifetimeVerifier::requireBitsSet(llvm::SmallBitVector const&, swift::SILValue, swift::SILInstruction*) + 183
9  swift                    0x0000000108c1b3ac MemoryLifetimeVerifier::checkBlock(swift::SILBasicBlock*, llvm::SmallBitVector&) + 1132
10 swift                    0x0000000108c1a978 MemoryLifetimeVerifier::checkFunction(swift::MemoryDataflow&) + 1016
11 swift                    0x0000000108c1ba3c MemoryLifetimeVerifier::verify() + 172
12 swift                    0x0000000108c1bb77 swift::verifyMemoryLifetime(swift::SILFunction*) + 151
13 swift                    0x0000000108cd1f91 swift::SILFunction::verify(bool) const + 8817
14 swift                    0x0000000108cd55ba swift::SILModule::verify() const + 202
15 swift                    0x00000001083e671a swift::CompilerInstance::performSILProcessing(swift::SILModule*, swift::UnifiedStatsReporter*) + 138
16 swift                    0x000000010835a5a0 performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 1440
17 swift                    0x000000010834f363 performCompile(swift::CompilerInstance&, swift::CompilerInvocation const&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 9299
18 swift                    0x000000010834bf48 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 4472
19 swift                    0x00000001082de87d main + 861
20 libdyld.dylib            0x00007fff693f57fd start + 1
@dan-zheng
Copy link
Contributor

This issue seems reproducible with https://swift.org/download development toolchains, so the issue isn't specific to Swift for TensorFlow.
Reproduced with https://swift.org/builds/development/xcode/swift-DEVELOPMENT-SNAPSHOT-2020-03-11-a/swift-DEVELOPMENT-SNAPSHOT-2020-03-11-a-osx.pkg.

Moving from TF to SR.

@beccadax
Copy link
Contributor

@swift-ci create

@eeckstein
Copy link
Contributor

fixed in #30731

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler itself
Projects
None yet
Development

No branches or pull requests

4 participants