This is the “defining” package/module: https://github.com/Balancingrock/SwifterJSON
For the consuming package simply generate a new executable and put the following in main.swift: import SwifterJSON // Note: Error disappears when the line below is un-commented // infix operator &= var json = VJson() json["root"] &= 4 print(json.code) (seems I have hit a snag with github, otherwise I would create a new repo for the executable… sorry for that.) Regards, Rien Site: http://balancingrock.nl Blog: http://swiftrien.blogspot.com Github: http://github.com/Balancingrock Project: http://swiftfire.nl > On 03 Feb 2017, at 18:36, Jordan Rose <jordan_r...@apple.com> wrote: > > The operator itself. If you’re not seeing that behavior, that’s a bug! Do you > have a small test case that reproduces it? (I guess it would take two modules > regardless, so either a SwiftPM package or an Xcode project would do it.) > > Jordan > >> On Feb 3, 2017, at 09:34, Rien <r...@balancingrock.nl> wrote: >> >> Are you referring to the definition of the operator (infix…) or the >> availability of the function that defines the operator? >> >> The functions are available, but I have to repeat the “infix…" everywhere I >> need them. >> >> I.e. I have a: >> >> infix operator &= >> >> And when I use that from another module I get “Operator is not a known >> binary operator” >> >> Once I repeat the "infix operator &=“ at the start of the file it works fine. >> >> Regards, >> Rien >> >> Site: http://balancingrock.nl >> Blog: http://swiftrien.blogspot.com >> Github: http://github.com/Balancingrock >> Project: http://swiftfire.nl >> >> >> >> >> >>> On 03 Feb 2017, at 18:14, Jordan Rose <jordan_r...@apple.com> wrote: >>> >>> Operator declarations are actually public all the time, not internal. >>> That’s itself probably a bug, but not the world-limiting one you’re >>> concerned about. >>> >>> Jordan >>> >>> >>>> On Feb 3, 2017, at 01:18, Rien via swift-users <swift-users@swift.org> >>>> wrote: >>>> >>>> It is possible to define custom operators in a framework, but it is not >>>> possible to assign access levels to them. >>>> >>>> As a consequence they are module internal and cannot be used outside the >>>> framework. >>>> >>>> Each project needs to redefine the custom operators in order to use them >>>> in that project. >>>> >>>> What is the rationale behind that? >>>> >>>> Or is it a bug? >>>> >>>> Are there other ways to accomplish this? >>>> >>>> Regards, >>>> Rien >>>> >>>> Site: http://balancingrock.nl >>>> Blog: http://swiftrien.blogspot.com >>>> Github: http://github.com/Balancingrock >>>> Project: http://swiftfire.nl >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> swift-users mailing list >>>> swift-users@swift.org >>>> https://lists.swift.org/mailman/listinfo/swift-users >>> >> >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users