<!--
{
  "availability" : [
    "SwiftPM: 6.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PackageDescription",
  "identifier" : "/documentation/PackageDescription/Package/Dependency/Trait",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "PackageDescription"
    ],
    "preciseIdentifier" : "s:18PackageDescription0A0C10DependencyC5TraitV"
  },
  "title" : "Package.Dependency.Trait"
}
-->

# Package.Dependency.Trait

An enabled trait of a dependency.

```
struct Trait
```

## Topics

### Structures

[`struct Condition`](/documentation/PackageDescription/Package/Dependency/Trait/Condition-swift.struct)

A condition that limits the application of a trait for a dependency.

### Initializers

[`init(name: String, condition: Package.Dependency.Trait.Condition?)`](/documentation/PackageDescription/Package/Dependency/Trait/init(name:condition:))

Creates a new enabled trait.

[`init(stringLiteral: StringLiteralType)`](/documentation/PackageDescription/Package/Dependency/Trait/init(stringLiteral:))

Creates a new enabled trait.

### Instance Properties

[`var condition: Package.Dependency.Trait.Condition?`](/documentation/PackageDescription/Package/Dependency/Trait/condition-swift.property)

The condition under which the package manager enables the dependency.

[`var name: String`](/documentation/PackageDescription/Package/Dependency/Trait/name)

The name of the enabled trait.

### Type Properties

[`static let defaults: Package.Dependency.Trait`](/documentation/PackageDescription/Package/Dependency/Trait/defaults)

Enables all default traits of the dependency.

### Type Methods

[`static func trait(name: String, condition: Package.Dependency.Trait.Condition?) -> Package.Dependency.Trait`](/documentation/PackageDescription/Package/Dependency/Trait/trait(name:condition:))

Creates a new enabled trait.

## Relationships

### Conforms To

[`ExpressibleByUnicodeScalarLiteral`](/documentation/Swift/ExpressibleByUnicodeScalarLiteral)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`ExpressibleByExtendedGraphemeClusterLiteral`](/documentation/Swift/ExpressibleByExtendedGraphemeClusterLiteral)

[`Sendable`](/documentation/Swift/Sendable)

[`ExpressibleByStringLiteral`](/documentation/Swift/ExpressibleByStringLiteral)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)