 
     /// Private function that creates and returns a list of targets defined by a package.
     private func constructTargets() throws -> [Target] {
-
-        // Ensure no dupicate target definitions are found.
-        let duplicateTargetNames: [String] = manifest.allRequiredTargets.map({ $0.name
-        }).spm_findDuplicates()
-
-        if !duplicateTargetNames.isEmpty {
-            throw Target.Error.duplicateTargets(duplicateTargetNames)
-        }
 
         // Check for a modulemap file, which indicates a system target.
         let moduleMapPath = packagePath.appending(component: moduleMapFilename)


        /// The target contains an invalid mix of languages (e.g. both Swift and C).
        case mixedSources(AbsolutePath)

        /// The manifest contains duplicate targets.
        case duplicateTargets([String])
    }
}


            return "invalid target name at '\(path)'; \(problem)"
        case .mixedSources(let path):
            return "target at '\(path)' contains mixed language source files; feature not supported"
        }
    }
}
