小编Jus*_*sch的帖子

Swift 单元测试错误:找不到架构 x86_64 的符号(Swift 包管理器)

我无法在使用 Swift 包管理器创建的 Swift 项目中运行单元测试(即,包管理器创建的任何单元测试......我在 Xcode 中创建的那些在 Xcode 中工作正常)。我在包管理器生成的所有项目上都遇到相同的错误。为了简单起见,我尝试了一个非常基本的测试项目,对默认设置进行了尽可能少的修改,但仍然出现错误。以下是重现的步骤:

  1. 使用swift package init --type executable(模块名称为Hello)创建一个新项目
  2. 添加Xcode项目: swift package generate-xcodeproj
  3. 在 Xcode 构建设置中,确保Enable Testability为 Yes
  4. 在 swift.main 中输入这个简单的测试代码:
import Foundation

let message = "Hello, world!"
print(message)
Run Code Online (Sandbox Code Playgroud)
  1. 在 HelloTests.swift 中:
import XCTest
@testable import Hello

class HelloTests: XCTestCase {
    func testExample() {
        XCTAssert(message == "Hello, world!")
    }

    static var allTests = [
        ("testExample", testExample),
    ]
}
Run Code Online (Sandbox Code Playgroud)
  1. Package.swift 和 XCTestManifests.swift 保持原样。
  2. 它使用swift buildand构建并运行良好swift run Hello …

linker unit-testing clang swift swift4

5
推荐指数
1
解决办法
2413
查看次数

Rust 参考在此处被删除,同时仍被借用

问题:我从一个方法中得到一个“XXXXXXX 下降到这里仍然借用”错误,其中 XXXXXXX 在方法结束时有效(这很好),但是 Rust 不必要地期望它只要输入引用就可以存活因为那些有明确的生命周期。

这是一些设置信息:我有一个结构体,它在文本内容中迭代所有找到的查询。

pub struct QueryRangeItr<'a> {
    inverted: bool,
    query: &'a str,
    content: &'a str,
}
Run Code Online (Sandbox Code Playgroud)

它需要查询和内容的引用,并期望实例与查询/内容一样长。到现在为止还挺好。

impl<'a> QueryRangeItr<'a> {
    fn new(query: &'a str, content: &'a str, inverted: bool) -> QueryRangeItr<'a> {
        Self {
            inverted,
            query,
            content,
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个静态方法,允许您对每个找到的查询执行转换。它接受一个闭包并将其应用于查询,然后为您提供一个String没有生命周期依赖的 new 。因为返回值没有生命周期,我实际上并不在这里为查询和内容带来生命周期,但如果我不这样做,Rust 告诉我我需要......因此,它们有生命周期要求。就其本身而言,这很好用。

问题发生在另一个静态方法上,该方法调用transform两次以转换查询非查询内容。它首先调用transfrom对找到的查询应用一个闭包。结果将反馈到该transform方法的另一个调用,但这次将转换应用于其余内容。

impl<'a> QueryRangeItr<'a> {
    pub fn transform<T>(
        query: &'a str,
        content: &'a str,
        transform: T,
        inverted: bool,
    ) -> String …
Run Code Online (Sandbox Code Playgroud)

lifetime rust

5
推荐指数
1
解决办法
1373
查看次数

标签 统计

clang ×1

lifetime ×1

linker ×1

rust ×1

swift ×1

swift4 ×1

unit-testing ×1