Skip to content

itemReplacementDirectoryName has forgotten the closing bracket when attempt is greater than 0 #953

Closed
swiftlang/swift-corelibs-foundation
#5093
@kkebo

Description

@kkebo

Description

itemReplacementDirectoryName has forgotten the closing bracket when attempt is greater than 0. It is a local function in FileManager.url(for:in:appropriateFor:create:).

https://github.com/swiftlang/swift-corelibs-foundation/blob/7b5cd129810bccb24a066498814637cb90a7b3cf/Sources/Foundation/FileManager.swift#L154

Steps to reproduce

$ rmdir /tmp/TemporaryItems/*
$ swift repl
Welcome to Swift version 6.0.1 (swift-6.0.1-RELEASE).
Type :help for assistance.
  1> import Foundation
  2> try FileManager.default.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: URL(filePath: "/tmp"), create: false).path 
$R0: String = "/tmp/TemporaryItems/(A Document Being Saved By replswift)"
  3> try FileManager.default.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: URL(filePath: "/tmp"), create: false).path 
$R1: String = "/tmp/TemporaryItems/(A Document Being Saved By replswift 2"
  4> try FileManager.default.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: URL(filePath: "/tmp"), create: false).path 
$R2: String = "/tmp/TemporaryItems/(A Document Being Saved By replswift 3"
  5> try FileManager.default.url(for: .itemReplacementDirectory, in: .userDomainMask, appropriateFor: URL(filePath: "/tmp"), create: false).path 
$R3: String = "/tmp/TemporaryItems/(A Document Being Saved By replswift 4"
  6> ^D

As you can see, it outputted:

  • "/tmp/TemporaryItems/(A Document Being Saved By replswift)"
  • "/tmp/TemporaryItems/(A Document Being Saved By replswift 2"
  • "/tmp/TemporaryItems/(A Document Being Saved By replswift 3"
  • "/tmp/TemporaryItems/(A Document Being Saved By replswift 4"
  • ...

Expected behavior

I think it should output:

  • "/tmp/TemporaryItems/(A Document Being Saved By replswift)"
  • "/tmp/TemporaryItems/(A Document Being Saved By replswift 2)"
  • "/tmp/TemporaryItems/(A Document Being Saved By replswift 3)"
  • "/tmp/TemporaryItems/(A Document Being Saved By replswift 4)"
  • ...

Environment

$ swift --version
Swift version 6.0.1 (swift-6.0.1-RELEASE)
Target: aarch64-unknown-linux-gnu
$ uname -a
Linux Raspberry-beetle 6.6.51-v8-16k+ swiftlang/swift-corelibs-foundation#1796 SMP PREEMPT Fri Sep 13 14:39:41 BST 2024 aarch64 GNU/Linux

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions