Issue #13568 has been updated by nobu (Nobuyoshi Nakada). shyouhei (Shyouhei Urabe) wrote: > At the meeting we discussed the use case of `File#path` and we thought there are 2 kinds: > > - Pass it to `open()` > - Pass it to `printf()` or variant A correction; The method which `open` calls is `to_path`, not `path`. These are different. > Do you think `nil` is better? I think nonexistent path is far more descriptive. The write mode problem is a matter. It would silently (and wrongly) success to write. I think that `File#to_path` should raise if the path dost not exist, but untouch `File#path`. ---------------------------------------- Feature #13568: File#path for O_TMPFILE fds are unmeaning https://bugs.ruby-lang.org/issues/13568#change-64984 * Author: sorah (Sorah Fukumori) * Status: Assigned * Priority: Normal * Assignee: sorah (Sorah Fukumori) * Target version: ---------------------------------------- By using File::TMPFILE (O_TMPFILE) allows us to create a file without directory entries. While open(2) with O_TMPFILE don't create a file without directory entries, it still requires a directory name to determine a file system to create a file. Current Ruby implementation holds such directory names in fptr->pathv and retrievable via File#path. But such paths are useless and may raise errors. For example, some code [1] checks File#path availability then when available, it attempts to use the path to open a file in different fd, finally raises Errno::EISDIR. This patch changes File#path (fptr->pathv) not to return String if a fd is opened with O_TMPFILE. [1]: https://github.com/aws/aws-sdk-ruby/blob/v2.9.17/aws-sdk-core/lib/aws-sdk-core/checksums.rb#L15 ---Files-------------------------------- tmpfile-path.patch (1.96 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>