Skip to content

Swift 3.0 #326

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 132 commits into from
Sep 13, 2016
Merged

Swift 3.0 #326

merged 132 commits into from
Sep 13, 2016

Conversation

ikesyo
Copy link
Member

@ikesyo ikesyo commented Sep 3, 2016

This succeeds the @norio-nomura's work of #277.

norio-nomura and others added 30 commits May 9, 2016 23:21
Test cases will need to be `final` for now due to the `Self` reference
on the new `allTests` type. Once codegen is available for `allTests` we
can get rid of the `final` and the `XCTestCaseProvider` protocol altogether.
Apply workaround for https://bugs.swift.org/browse/SR-1464
This fixes failing `BeCloseToTest` on Linux.
`test podspec` passed by applying this.
…jectiveC`

Avoid `error: mixedSources("<path to Nimble>/Sources/Nimble")` on building by Swift Package Manager.
Error: "Could not cast value of type '__C.CFRunLoopMode' (0x111e56c38) to 'Swift.AnyObject'"
# Conflicts:
#	Sources/Nimble/Matchers/Contain.swift
* cl-swift3-compatibility:
  Add support for the foundation Date class
  Fix up expected error messages
@jeffh
Copy link
Member

jeffh commented Sep 11, 2016

@ikesyo, what's left that prevents this from merging into master?

@ikesyo
Copy link
Member Author

ikesyo commented Sep 11, 2016

@jeffh I think this should get additional reviews, for example:

  • API Design (Naming) Guidelines
  • IPHONEOS_DEPLOYMENT_TARGET is bumped to 8.0 (we can't select 7.0 on Xcode 8 GUI anymore)
  • BeIdenticalTo implementation which is affected by id-as-Any.

@ikesyo ikesyo changed the title [WIP] Swift 3.0 Swift 3.0 Sep 11, 2016
@@ -58,11 +56,10 @@ internal func nimblePrecondition(
return result
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should get rid of the return value because it isn't used.

@jeffh
Copy link
Member

jeffh commented Sep 13, 2016

Thanks for the update @ikesyo.

API Design (Naming) Guidelines

I think that can be addressed when we attempt to switch matchers to use protocol extensions. I'll try again next week to play around and see if protocol extensions don't cause all sorts of problems.

IPHONEOS_DEPLOYMENT_TARGET is bumped to 8.0 (we can't select 7.0 on Xcode 8 GUI anymore)

👍 . This is fine. If someone still manages to get it to work on 7.0, we can accept a PR as needed.

BeIdenticalTo implementation which is affected by id-as-Any.

While not ideal, the implementation seems workable.

Other than that one change. It seems ready to merge, imo.

@ikesyo
Copy link
Member Author

ikesyo commented Sep 13, 2016

@jeffh Thanks for the review! I've addressed the return value of nimblePrecondition.

@jeffh jeffh added this to the v5.0.0 milestone Sep 13, 2016
@jeffh jeffh merged commit e7c1f4e into master Sep 13, 2016
@jeffh jeffh deleted the swift-3.0 branch September 13, 2016 05:27
@jeffh
Copy link
Member

jeffh commented Sep 13, 2016

Thanks everyone for putting in all the effort! 👏

@tettoffensive
Copy link

Even though I have specified in my Podfile, Xcode 8 GM still complains and wants to convert to swift 3 for both projects. am I missing something?

pod 'Quick', :git => 'https://github.com/Quick/Quick.git', :branch => 'swift-3.0'
pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git', :branch => 'master'

@tettoffensive
Copy link

@jeffh @ikesyo ?

@ikesyo
Copy link
Member Author

ikesyo commented Sep 22, 2016

You might currently use CocoaPods 1.0.1, but you need 1.1.0.rc.2 for Xcode 8: gem update cocoapods --pre

Megal pushed a commit to Megal/Nimble that referenced this pull request Jul 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants