profile
viewpoint

xymus/nit 8

Nit language

xymus/mnit 3

Cross-compiler for Android applications written in Nit

xymus/pycaptain 3

Manage a capital ship against humans or computers in this space RTS

xymus/staticjni 3

A static native interface for Java, built around JNI

xymus/nit-forest-sim 2

Forest simultation with lumberjacks and termites, implemented client/server over network with SDL gui

xymus/memoire-uqam-patron 1

Patron de mémoire et thèse à l'UQAM

xymus/pep8analysis 1

Tools to statically analyze Pep/8 programs

xymus/ageei-pvs 0

Procès-verbaux de l'AGEEI

xymus/bdwgc 0

The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (libgc, bdwgc, boehmgc)

PullRequestReviewEvent

Pull request review commentapple/swift

Generalize ExportContext and use it for deprecation and unavailability

 enum class ExportabilityReason : unsigned {   ExtensionWithConditionalConformances }; +/// A description of the restrictions on what declarations can be referenced+/// from a the signature or body of a declaration.+///+/// We say a declaration is "exported" if it is `public` or+/// `@usableFromInline`, not `_@spi`, and not visible via an

There are typos here _@spi and above from a the signature.

slavapestov

comment created time in 10 hours

PullRequestReviewEvent

Pull request review commentapple/swift

Generalize ExportContext and use it for deprecation and unavailability

 enum class ExportabilityReason : unsigned {   ExtensionWithConditionalConformances }; +/// A description of the restrictions on what declarations can be referenced+/// from a the signature or body of a declaration.+///+/// We say a declaration is "exported" if it is `public` or+/// `@usableFromInline`, not `_@spi`, and not visible via an+/// `@_implementationOnly` import.+///+/// The "signature" of a declaration is the set of all types written in the+/// declaration (such as function parameter and return types), but not+/// including the function body.+///+/// The signature of an exported declaration can only reference other+/// exported types.+///+/// The body of an inlinable function can only reference other `public` and+/// `@usableFromInline` declarations; furthermore, if the inlinable+/// function is also exported, its body is restricted to referencing other+/// exported declarations.

When you say if the inlinable function is also exported, that would be for all inlinable functions except @_spi right?

slavapestov

comment created time in 10 hours

PullRequestReviewEvent

push eventapple/swift

Alexis Laferrière

commit sha 40ef504f38bb6fd147f9e39cee16bc0795e27abe

[Index] Don't report extensions with nothing to index in system modules The indexer was looking into “empty” extensions to public types, triggering computing their USR which could fail at deserializing the implementation-only imported types. As a solution, don’t index extensions with nothing to index in system modules. rdar://70225906

view details

Alexis Laferrière

commit sha b87fd1230b03bdf93edb3cdc859af983c8244e86

[Index] Update test related to reporting extensions in system modules

view details

Alexis Laferrière

commit sha f6931c8905b9ee68a6e0711b6e6fa165fcef97f6

[Index] Test records of extensions in sources and modules

view details

Alexis Laferrière

commit sha 68b790fb3a4e8cb030a71ba717b351424a126267

Merge pull request #34338 from xymus/indexing-empty-extensions [Index] Don't report extensions with nothing to index

view details

push time in 3 days

delete branch xymus/swift

delete branch : indexing-empty-extensions

delete time in 3 days

PR merged apple/swift

Reviewers
[Index] Don't report extensions with nothing to index

The indexer was looking into “empty” extensions to public types, triggering the computation of the extension USR which could fail at deserializing implementation-only imported types. As a solution, don’t index extensions with no content to index.

rdar://70225906

+116 -3

7 comments

5 changed files

xymus

pr closed time in 3 days

pull request commentapple/swift

[Index] Don't report extensions with nothing to index

I tweaked the fix to apply only on serialized module files. We don’t load implementation-only dependencies for local or system serialized modules so this bug could affect any modules, only partial modules should be safe but I wouldn’t expect them to be used here (?).

Thanks for the detailed guide for the test @nathawes! I’ve added record-systemmodule.swift and something to make sure that empty extensions are still recorded for source files. I used a different strategy to get to the serialized module, so let me know if you’d prefer a style closer to the other Index tests and I’ll fix it.

xymus

comment created time in 3 days

pull request commentapple/swift

[Index] Don't report extensions with nothing to index

@swift-ci Please smoke test

xymus

comment created time in 3 days

push eventxymus/swift

Alexis Laferrière

commit sha 40ef504f38bb6fd147f9e39cee16bc0795e27abe

[Index] Don't report extensions with nothing to index in system modules The indexer was looking into “empty” extensions to public types, triggering computing their USR which could fail at deserializing the implementation-only imported types. As a solution, don’t index extensions with nothing to index in system modules. rdar://70225906

view details

Alexis Laferrière

commit sha b87fd1230b03bdf93edb3cdc859af983c8244e86

[Index] Update test related to reporting extensions in system modules

view details

Alexis Laferrière

commit sha f6931c8905b9ee68a6e0711b6e6fa165fcef97f6

[Index] Test records of extensions in sources and modules

view details

push time in 3 days

pull request commentapple/swift

[Index] Don't report extensions with nothing to index

@swift-ci Please smoke test

xymus

comment created time in 5 days

push eventxymus/swift

Alexis Laferrière

commit sha 4317034476fef93023997a93999822390460abd8

[Index] Update test related to not indexing "empty" extensions

view details

push time in 5 days

pull request commentapple/swift

[Index] Don't report extensions with nothing to index

Nevermind, it looks like there was already a test about this!

xymus

comment created time in 5 days

pull request commentapple/swift

[Index] Don't report extensions with nothing to index

@rintaro @nathawes I'm not sure how to test this change, would you have suggestions or pointers for me?

xymus

comment created time in 5 days

pull request commentapple/swift

[Index] Don't report extensions with nothing to index

@swift-ci Please smoke test

xymus

comment created time in 5 days

PR opened apple/swift

Reviewers
[Index] Don't report extensions with nothing to index

The indexer was looking into “empty” extensions to public types, triggering the computation of the extension USR which could fail at deserializing implementation-only imported types. As a solution, don’t index extensions with nothing to index.

rdar://70225906

+18 -0

0 comment

1 changed file

pr created time in 5 days

create barnchxymus/swift

branch : indexing-empty-extensions

created branch time in 5 days

push eventapple/swift

Alexis Laferrière

commit sha df44b39cc5b023eb8c79660638a8bc81b6714dfa

[Sema] Consider inherited platform unavailability to silence diagnostics rdar://68597591

view details

Alexis Laferrière

commit sha d78f5042aa2399ca7245f18123078d4338347f04

Merge pull request #34323 from xymus/inherit-unavailability-5.3 [5.3][Sema] Consider inherited platform unavailability to silence diagnostics

view details

push time in 5 days

delete branch xymus/swift

delete branch : inherit-unavailability-5.3

delete time in 5 days

PR merged apple/swift

Reviewers
[5.3][Sema] Consider inherited platform unavailability to silence diagnostics

The compiler reported a superfluous error on some uses of an unavailable type in unavailable declaration, which should be accepted. This affected only platforms like Mac Catalyst when the user declaration was marked unavailable on iOS and the unavailable type was defined in Objective-C. The fix makes the diagnostic consider the inherited platform unavailability on the user declaration to suppress the error.

  • Scope: This is affecting the Swift overlay for OSLog.

  • Risk: Low, this change can only show less errors.

  • Origination: Likely from the introduction of the diagnostic.

  • Resolves: rdar://68597591

  • Testing: Added tests to compare the difference in behavior between Swift and Objective-C declared types.

  • Cherry-pick of #34087

+28 -1

8 comments

2 changed files

xymus

pr closed time in 5 days

pull request commentapple/swift

[5.3][Sema] Consider inherited platform unavailability to silence diagnostics

The macOS failures appears to be unrelated and tracked by rdar://66842937.

xymus

comment created time in 6 days

pull request commentapple/swift

[5.3][Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please nominate

xymus

comment created time in 6 days

pull request commentapple/swift

[5.3][Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please test

xymus

comment created time in 6 days

PR opened apple/swift

[5.3][Sema] Consider inherited platform unavailability to silence diagnostics

The compiler reported a superfluous error on some uses of an unavailable type in unavailable declaration, which should be accepted. This affected only platforms like Mac Catalyst when the user declaration was marked unavailable on iOS and the unavailable type was defined in Objective-C. The fix makes the diagnostic consider the inherited platform unavailability on the user declaration to suppress this error.

  • Scope: This is affecting the Swift overlay for OSLog.

  • Risk: Low, this change can only show less errors.

  • Origination: Likely from the introduction of the diagnostic.

  • Resolves: rdar://68597591

  • Testing: Added tests to compare the difference in behavior between Swift and Objective-C declared types.

+28 -1

0 comment

2 changed files

pr created time in 6 days

PullRequestReviewEvent

create barnchxymus/swift

branch : inherit-unavailability-5.3

created branch time in 7 days

push eventapple/swift

Alexis Laferrière

commit sha e509d6883a068334df96f34ade141d8c38dfd1f0

Revert "[Sema] Fix availability checking in inlinable code"

view details

Alexis Laferrière

commit sha 0d8f689d1c50121c13980eadf7ee58917a930aef

Merge pull request #34306 from apple/revert-33855-availability-inlinable Revert "[Sema] Fix availability checking in inlinable code"

view details

push time in 7 days

delete branch apple/swift

delete branch : revert-33855-availability-inlinable

delete time in 7 days

PR merged apple/swift

Revert "[Sema] Fix availability checking in inlinable code"

Reverts apple/swift#33855, it is breaking Foundation on Windows.

+97 -350

1 comment

16 changed files

xymus

pr closed time in 7 days

pull request commentapple/swift

Revert "[Sema] Fix availability checking in inlinable code"

@swift-ci Please smoke test

xymus

comment created time in 7 days

PR opened apple/swift

Revert "[Sema] Fix availability checking in inlinable code"

Reverts apple/swift#33855, it is breaking Foundation on Windows.

+97 -350

0 comment

16 changed files

pr created time in 7 days

create barnchapple/swift

branch : revert-33855-availability-inlinable

created branch time in 7 days

push eventapple/swift

Alexis Laferrière

commit sha 8307a8d58e7ec6c5396b8e27ee4170a2f9fb844e

[Sema] Don't require availability for implicit decls Suppress warnings in synthesized code. The parent decls should already show a warning. require_explicit_availability.StructWithImplicitMembers:2:16: warning: public declarations should have an availability attribute when building with -require-explicit-availability public var hashValue: Int { get } ^

view details

Alexis Laferrière

commit sha 5d21200fdfc5b863869e6aa7aa285a3a69fd3ef2

Merge pull request #34295 from xymus/require-explicit-avail-ignore-implicit [Sema] Don't require explicit availability for implicit decls

view details

push time in 8 days

PR merged apple/swift

Reviewers
[Sema] Don't require explicit availability for implicit decls

Suppress warnings from -require-explicit-availability in synthesized code. The parent decls should already show a warning.

This affects warnings with the following form for the newly added test:

require_explicit_availability.StructWithImplicitMembers:2:16: warning:
public declarations should have an availability attribute when building
with -require-explicit-availability
    public var hashValue: Int { get }
               ^
+11 -2

1 comment

2 changed files

xymus

pr closed time in 8 days

pull request commentapple/swift

[Sema] Don't require availability for implicit decls

@swift-ci Please smoke test

xymus

comment created time in 8 days

PR opened apple/swift

Reviewers
[Sema] Don't require availability for implicit decls

Suppress warnings from -require-explicit-availability in synthesized code. The parent decls should already show a warning.

require_explicit_availability.StructWithImplicitMembers:2:16: warning: public declarations should have an availability attribute when building with -require-explicit-availability public var hashValue: Int { get } ^

+11 -2

0 comment

2 changed files

pr created time in 8 days

create barnchxymus/swift

branch : require-explicit-avail-ignore-implicit

created branch time in 8 days

push eventapple/swift

Alexis Laferrière

commit sha e61ffea42c943044fe4fc8c35d5040bc8815e420

[Sema] Check availability in inlinable code using the explicit version Inlinable functions can be inlined in clients with a lower OS target version than the framework defining the function. For this reason, the availability in inlinable functions should always be checked using the explicit introduction OS version as lower bound and not the minimum deployment version. rdar://problem/67975153

view details

Alexis Laferrière

commit sha 53e04cb39db86d890ff674b775a5dbda47e9d599

[Sema] Test explicit versions in TypeRefinementContext

view details

Alexis Laferrière

commit sha 2f182c2b785f5f7b68ee756d1474f21f3050ba67

[Sema] Consider unavailable functions as being unreachable This has the effect of rejecting unavailable overrides to available methods in a similar way as overrides that are less available than the introduction are rejected.

view details

Alexis Laferrière

commit sha 39ee5916bd656cf56c75ddf45a47e628d0ff1db1

[SIL] Don't print availability for unreachable/unavailable functions

view details

Alexis Laferrière

commit sha c79d5cfbd6952c5dc141a24db10a87d548bc5f4f

[Sema] Still use the current minimum deployment target as fallback

view details

Alexis Laferrière

commit sha 25c9ddd7c817d4dee5a1643cc0fc32f3cf833af2

[Sema] Prioritize unavailability check for protocol witnesses The errors on explicit unavailability are more precise than those on availablity version. Make sure we prioritize the unavailability ones first.

view details

Alexis Laferrière

commit sha f536a581082633e33ea8849b7f1d2f9b0d816c6c

[Sema] Silence an inconsistent availability error for the stdlib Don't raise the error availability_decl_more_than_enclosing in the context is unavailable and if read in a swiftinterface file. This error was present in the stdlib in 5.3 without side effects so we still want to accept it.

view details

Alexis Laferrière

commit sha 429017fc7acc303d70c6251eec7c59c97255fa96

[ClangImporter] Import unavailable decls as unavailable

view details

Alexis Laferrière

commit sha d2343f23a4d14b37f1f603ae13e3421fb5455df4

[Sema] Create a new TypeRefinementContext only for explicit inlinables

view details

Alexis Laferrière

commit sha 1ca852e77a00bf8323494d7445d054ea28466b99

[Sema] Accept unavailable constructors override in unavailable types Preserve the old behavior of accepted unavailable override of constructors as this change would be source breaking.

view details

Alexis Laferrière

commit sha fca7d36cb42b044b1179254d6e38f2b8a263eeed

[Sema] Use the deployment target as minimum OS version in swiftinterfaces Preserve the previous behavior when parsing swiftinterfaces as the Swift stdlib for Swift 5.3 and a few other swiftinterfaces in Xcode 12.0 had issues that would now be reported as errors.

view details

Alexis Laferrière

commit sha fb76ff1aea6aee7282d1e8652107f3f0e78b5d46

[Sema] Report non-constructor unavailable overrides as warnings Report unavailable overrides as a warning to avoid breaking sources.

view details

Alexis Laferrière

commit sha 9249186b1525395fa25aee4dd017ae72de25c3d3

Merge pull request #33855 from xymus/availability-inlinable [Sema] Fix availability checking in inlinable code

view details

push time in 8 days

delete branch xymus/swift

delete branch : availability-inlinable

delete time in 8 days

PR merged apple/swift

[Sema] Fix availability checking in inlinable code

Inlinable and @_alwaysEmitIntoClient functions can be inlined in clients with a lower OS target version than the framework defining the function. For this reason, the availability in inlinable functions should always be checked by using the introduction OS version specified by the explicit attributes as lower bound and not the minimum deployment version of the framework.

A side-effect of this change is rejecting unavailable overrides to available methods, in a similar way as overrides that are less available than the introduction are rejected. I believe this is the intended behavior as it provided inconsistent diagnostics and surprising behaviors.

rdar://problem/67975153

+350 -97

29 comments

16 changed files

xymus

pr closed time in 8 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 9 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in 9 days

push eventxymus/swift

Alexis Laferrière

commit sha fb76ff1aea6aee7282d1e8652107f3f0e78b5d46

[Sema] Report non-constructor unavailable overrides as warnings Report unavailable overrides as a warning to avoid breaking sources.

view details

push time in 9 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 12 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 12 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in 12 days

push eventxymus/swift

Alexis Laferrière

commit sha e61ffea42c943044fe4fc8c35d5040bc8815e420

[Sema] Check availability in inlinable code using the explicit version Inlinable functions can be inlined in clients with a lower OS target version than the framework defining the function. For this reason, the availability in inlinable functions should always be checked using the explicit introduction OS version as lower bound and not the minimum deployment version. rdar://problem/67975153

view details

Alexis Laferrière

commit sha 53e04cb39db86d890ff674b775a5dbda47e9d599

[Sema] Test explicit versions in TypeRefinementContext

view details

Alexis Laferrière

commit sha 2f182c2b785f5f7b68ee756d1474f21f3050ba67

[Sema] Consider unavailable functions as being unreachable This has the effect of rejecting unavailable overrides to available methods in a similar way as overrides that are less available than the introduction are rejected.

view details

Alexis Laferrière

commit sha 39ee5916bd656cf56c75ddf45a47e628d0ff1db1

[SIL] Don't print availability for unreachable/unavailable functions

view details

Alexis Laferrière

commit sha c79d5cfbd6952c5dc141a24db10a87d548bc5f4f

[Sema] Still use the current minimum deployment target as fallback

view details

Alexis Laferrière

commit sha 25c9ddd7c817d4dee5a1643cc0fc32f3cf833af2

[Sema] Prioritize unavailability check for protocol witnesses The errors on explicit unavailability are more precise than those on availablity version. Make sure we prioritize the unavailability ones first.

view details

Alexis Laferrière

commit sha f536a581082633e33ea8849b7f1d2f9b0d816c6c

[Sema] Silence an inconsistent availability error for the stdlib Don't raise the error availability_decl_more_than_enclosing in the context is unavailable and if read in a swiftinterface file. This error was present in the stdlib in 5.3 without side effects so we still want to accept it.

view details

Alexis Laferrière

commit sha 429017fc7acc303d70c6251eec7c59c97255fa96

[ClangImporter] Import unavailable decls as unavailable

view details

Alexis Laferrière

commit sha d2343f23a4d14b37f1f603ae13e3421fb5455df4

[Sema] Create a new TypeRefinementContext only for explicit inlinables

view details

Alexis Laferrière

commit sha 1ca852e77a00bf8323494d7445d054ea28466b99

[Sema] Accept unavailable constructors override in unavailable types Preserve the old behavior of accepted unavailable override of constructors as this change would be source breaking.

view details

Alexis Laferrière

commit sha fca7d36cb42b044b1179254d6e38f2b8a263eeed

[Sema] Use the deployment target as minimum OS version in swiftinterfaces Preserve the previous behavior when parsing swiftinterfaces as the Swift stdlib for Swift 5.3 and a few other swiftinterfaces in Xcode 12.0 had issues that would now be reported as errors.

view details

push time in 12 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test Linux platform

xymus

comment created time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test macOS platform

xymus

comment created time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in 13 days

push eventxymus/swift

Alexis Laferrière

commit sha eed2d9ed1f799cf5ce1edd746145672146b70a9c

[Sema] Create a new TypeRefinementContext only for explicit inlinables

view details

Alexis Laferrière

commit sha fe6da1d74e6d0b567b00ef983d83cf7224243257

[Sema] Accept unavailable constructors override in unavailable types

view details

Alexis Laferrière

commit sha 94608f943555ce96af3433642a4edbe2e752eb9e

[Sema] Disable the new inlinable availability check in swiftinterfaces The Swift stdlib shipped with Swift 5.3 along with at least one other swiftinterface in Xcode 12.0 had issues now reported as an error.

view details

push time in 13 days

push eventapple/swift

Alexis Laferrière

commit sha c6fc53e844ac4fd542adb0669ac7038c2919d283

[Sema] Define availability via compiler flag Introduce availability macros defined by a frontend flag. This feature makes it possible to set the availability versions at the moment of compilation instead of having it hard coded in the sources. It can be used by projects with a need to change the availability depending on the compilation context while using the same sources. The availability macro is defined with the `-define-availability` flag: swift MyLib.swift -define-availability "_iOS8Aligned:macOS 10.10, iOS 8.0" .. The macro can be used in code instead of a platform name and version: @available(_iOS8Aligned, *) public func foo() {} rdar://problem/65612624

view details

Alexis Laferrière

commit sha 5ed261683d5973ef4dd45922b5ac77ba7cefcf43

[Sema] Report availability macros in inlinable code Availability macros can’t be used in inlinable code as inlinable is copied textually in the generated swiftinterface files. Further would could lift this limitation.

view details

Alexis Laferrière

commit sha fa6f1b6b96d8a835f398a42115695dd1133661cd

Merge pull request #33439 from xymus/expand-avail [Sema] Define availability specification macros with a frontend flag

view details

push time in 13 days

PR merged apple/swift

Reviewers
[Sema] Define availability specification macros with a frontend flag

Introduce availability macros defined by a frontend flag. This feature makes it possible to set the availability versions at the moment of compilation instead of having it hard coded in the sources. It can be used by projects with a need to change the availability depending on the compilation context while using the same sources.

The availability macro is defined with the -define-availability flag:

swift-frontend MyLib.swift -define-availability "_iOS8Aligned:macOS 10.10, iOS 8.0” -define-availability "_myProject 1.0:macOS 10.12, iOS 10.0" ...

The macro can be used in code instead of a platform name and version:

@available(_iOS8Aligned, *)
public func foo() {}

// Macros can be referenced with their version and be combined with other platform specifications.
@available(_myProject 1.0, tvOS 12.0, *)
public func projectFunc() {}

func client() {
  // Macros can be used for conditional availability checks.
  if #available(_iOS8Aligned, *) {
    foo()
  }

  if #available(_myProject 1.0, tvOS 12.0, *) {
    projectFunc()
  }
}

The use of availability macros in the @available specification is expanded at parsing and should not be visible in any compiler outputs. This includes the swiftinterfaces which will show the full classic availability specification. The foo function in the previous will be printed in the swiftinterfaces as:

@available(macOS 10.10, iOS 8.0, *)
public func foo()

Verion numbers, or triples, are optional on macros. A macro without an explicit version defaults to the default version 0.

Availability macros can’t be used in inlinable code as inlinable is copied textually in the generated swiftinterface files. Further would could lift this limitation.

rdar://problem/65612624

+432 -16

8 comments

13 changed files

xymus

pr closed time in 13 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 14 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test macOS platform

xymus

comment created time in 14 days

PullRequestReviewEvent

Pull request review commentapple/swift

ModuleInterface: rephrase remark message when acquiring lock file failed

 ERROR(error_creating_remark_serializer,none,       "error while creating remark serializer: '%0'", (StringRef))  REMARK(interface_file_lock_failure,none,-      "could not acquire lock file for module interface '%0'", (StringRef))+      "building module interface without lock file", ())

That's much less scary, I like it!

Would it be useful to say what is the drawback here, like "this may oversubscribe the CPU"? But I'm not sure if it would be reassuring knowing why me remark on lock files or bring more confusion tbh.

nkcsgexi

comment created time in 14 days

PullRequestReviewEvent

pull request commentapple/swift

[Sema] Define availability versions with a compiler flag

@swift-ci Please smoke test Linux platform

xymus

comment created time in 14 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test macOS platform

xymus

comment created time in 14 days

push eventxymus/swift

Antoine Cœur

commit sha 4c30f8bd6de5487603ed645cc4dd2a2983f4f0ba

appendingPathComponent(:isDirectory:) should account for isDirectory

view details

Yuta Saito

commit sha d6cddaabb59958737e048ff1a5dd4d283c555661

[LTO] Support LLVM LTO for driver This commit adds LTO support for handling linker options and LLVM BC emission. Even for ELF, swift-autolink-extract is unnecessary because linker options are embeded in LLVM BC content when LTO.

view details

Michael Gottesman

commit sha c8d4d168f7981fc0b6cadedd71c2e340c622bcb3

Revert "build-script: remove dead CMake options for Swift" This reverts commit 95102bc258a6b30ba2349d561ef56ea48c601cae. This is actually a dead option that is relied upon for some configurations. I am going to add a note to not touch the option. I talked with compnerd about this and they are cool with this. I think that we can redo this in a nicer way when we are further into the build-script-impl refactoring. I added a note to the code to explain that it isn't dead.

view details

Hamish Knight

commit sha a7a8d9fd260bd2d5d1a213100c4000f5618e39bf

[AST] Remove NewBodyKind default A bunch of callers were accidentally misusing it.

view details

Hamish Knight

commit sha 9b8b2068d2931a60cd495fab59e3204c16db2d0f

Add AbstractFunctionDecl::getTypecheckedBody Refactor TypeCheckFunctionBodyRequest to return the type-checked body, and remove `typeCheckAbstractFunctionBody` in favor of a method on AbstractFunctionDecl. In addition, start returning an ErrorExpr body instead of a partially type-checked body if type-checking fails.

view details

Hamish Knight

commit sha 8fd6d7e19a9d8acf58cdd1182015df76ac88ea97

Add some missing calls to setThrows We no longer run error checking for already type-checked synthesized functions, so add a couple of `setThrows` calls where they were previously missing.

view details

Hamish Knight

commit sha 28246a7596dcc565b827b3666b9e4bed9adf6911

[SILGen] Use getTypecheckedBody Use `getTypecheckedBody` to allow lazy type-checking when emitting function definitions.

view details

Saleem Abdulrasool

commit sha 7128611a9d90b69a93a2adf8b01360ead0eedace

AST: align `ImportedModule` to 64-bits Align `ImportedModule` to 64-bits as it is used in other types which force the 8-byte alignment for the layout.

view details

Owen Voorhees

commit sha 6b6b640e133ca547139c6586eb0dcbf7933b46ec

[Driver] Don't test for null source locations in driver diagnostics swift-driver doesn't emit these, and there's no reason to check that they're present when using the integrated driver.

view details

Varun Gandhi

commit sha e48469d03c87f8c1b87a2462fa3cd8c27c4d685f

[NFC] Add missing invariant checks for ExtInfoBuilders.

view details

Varun Gandhi

commit sha 384edd1f2b9c64d96dec169460b232f4ce14223f

[docs] Link 'The Swift Runtime' blog posts in ExternalResources.md.

view details

freddi

commit sha 495087f26f4a0288a8cf66be1829304ac403c43b

[sil-opt] Fix to satisfy all trapping instruction case at SILInstruction::mayTrap

view details

Robert Widmann

commit sha 98765132c90af02b445e77988ba1d7047bbc57b5

[Gardening] Document a Strange Sort

view details

Pavel Yaskevich

commit sha 7b0e46bdfadded96df9c8d5673734c9475e8d5bd

[ConstraintSystem] Adjust impact of a missing member fix Currently its impact is set to be less than that of a conversion fix, which is incorrect. Let's adjust that and increase it even farther for cases where base is `Any` or `AnyObject`. We couldn't do it for `Any` before because it was used to represent type holes, but it's no longer the case. Resolves: rdar://problem/68155466

view details

Varun Gandhi

commit sha 58fcc4602da3412ecf958b2f62c6465ae0ef27d7

[docs] Fix typos and broken links.

view details

Varun Gandhi

commit sha 296d25294b53618ebe25603ba3a508067a5ad1db

[docs] Add link to FAQ in README.

view details

Varun Gandhi

commit sha b6558fd9ed6c89ffc0d5a643f303e8b9ca33895a

[docs] Describe using `git grep` in FAQ. Also changed the grep example to use long flag names for clarity.

view details

Dan Zheng

commit sha 5dad73589665b2edc53649c42f39d5544b27b609

[docs] Fix typos in CppInteroperabilityManifesto.md. - `specilalizations` -> `specializations` - Mark a setter method as `mutating`.

view details

Ben Barham

commit sha 4f5d4d80bb6e6da1218db7f505685fe508190833

[Gardening] Add re-usable copy* utility methods to use in code completion Various copy* methods were re-implemented in a bunch of files, move them to CodeCompletion.h so they can be re-used everywhere that needs them.

view details

Doug Gregor

commit sha 22a350b1acee19149ad13d233aab52ef2845d2eb

[Concurrency] Add parsing support for actor classes. Introduce the "actor class" syntax. Ensure that it is only used for root classes or classes that inherit from other actor classes.

view details

push time in 15 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 15 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in 15 days

pull request commentapple/swift

[Sema] Define availability versions with a compiler flag

Moving out of draft state as it should now be ready for review. I've updated the description to be up to date with the current feature design and limitations.

It sounds like the best approach here is to keep this feature simple as it would be mostly useful to framework developers with a specific need and it won’t address all use cases. The in-language alternative could be more useful to framework clients and address other Framework developers use-cases. For this reason, I redesigned the feature to be as little obtrusive as possible. It should affect the behavior of the compiler only when an availability macro is defined in the frontend flags. The implementation could be extended to associate identifiers in availability attributes to other sources than macros passed as arguments.

xymus

comment created time in 15 days

pull request commentapple/swift

[Sema] Define availability versions with a compiler flag

@swift-ci Please smoke test

xymus

comment created time in 15 days

push eventxymus/swift

Alexis Laferrière

commit sha c6fc53e844ac4fd542adb0669ac7038c2919d283

[Sema] Define availability via compiler flag Introduce availability macros defined by a frontend flag. This feature makes it possible to set the availability versions at the moment of compilation instead of having it hard coded in the sources. It can be used by projects with a need to change the availability depending on the compilation context while using the same sources. The availability macro is defined with the `-define-availability` flag: swift MyLib.swift -define-availability "_iOS8Aligned:macOS 10.10, iOS 8.0" .. The macro can be used in code instead of a platform name and version: @available(_iOS8Aligned, *) public func foo() {} rdar://problem/65612624

view details

Alexis Laferrière

commit sha 5ed261683d5973ef4dd45922b5ac77ba7cefcf43

[Sema] Report availability macros in inlinable code Availability macros can’t be used in inlinable code as inlinable is copied textually in the generated swiftinterface files. Further would could lift this limitation.

view details

push time in 15 days

push eventxymus/swift

Varun Gandhi

commit sha fdbcd1236fd6d94239eb37b07cb729c4eae466aa

[NFC] Bridge based on SILFunctionLanguage instead of Representation.

view details

Varun Gandhi

commit sha f86aad9b294819a84aa1493330e07b0675ac90e6

[NFC] Extract computation of SILExtInfoBuilder bits into new method.

view details

Varun Gandhi

commit sha c4ad840ad3dbc40c885af117105a3a92326df149

[NFC] Reuse SILExtInfoBuilder's main constructor in default constructor.

view details

Artem Chikin

commit sha 863bca87e8644151d492f5c526fe62d4fee8ef9f

[Dependency Scanner] Prefix Clang dependency scanner search path arguments with `-Xcc` Experimentally, this seems to be required for these paths to actually be picked up by the underlying scanner.

view details

Pavel Yaskevich

commit sha 4847ec9a6bed06259750b7595871e87678acd554

[AST/TypeChecker] Add more asserts to make sure types don't get into AST

view details

Xi Ge

commit sha 41ea927c8e53a5bb0e1a08f5c3da1949d887abb1

Merge pull request #33666 from nkcsgexi/67883661 ABIChecker: exclude decls with the @_alwaysEmitIntoClient attribute

view details

swift_jenkins

commit sha 80d87082d325646c48680405e646fe6b5a7400b0

Merge remote-tracking branch 'origin/master' into master-rebranch

view details

Joe Groff

commit sha 0bef4a661bdf7c64d4145fb76a852b238381b4ff

Give global once symbols stabler manglings. This allows symbol ordering and other analyses to be more robust with regards to these symbols.

view details

Luciano Almeida

commit sha 4b921c3487d3804c14718c374242619ff44c65fd

[Sema] Improve diagnostics for key path root type inferred as option accessing wrapped member

view details

Robert Widmann

commit sha 4c7ccf5abe79563907bbfc0cd80899f0a3287476

[NFC] Clean Up FrontendTool Try to impose a simple structure that splits performing actions from the pre and post-pipeline conditions. Wherever actions would take more than a simple return, split them into functions. Refine functions that perform effects to return status codes when they fail. Finally, delineate functions that need semantic analysis from those that do not. Overall this should be NFC.

view details

Robert Widmann

commit sha fe7444ffa3e3ac61da5194102c57e6c451156c88

Add doesActionRequireSwiftStandardLibrary

view details

Robert Widmann

commit sha 4c56c95674a12342d4321ab78003a9fe983581c7

Define doesActionRequireInputs

view details

Rintaro Ishizaki

commit sha e013ebd388cba978760cfd2c2cc604025de34a1b

[CodeCompletion] Ensure all ExtensionDecl's extended nominal are computed Fixes an assertion failure in ASTScope lookup rdar://problem/67102794

view details

Xi Ge

commit sha 5faedbd1aba6563229799e97a5c42f0d780e35d5

Merge pull request #33667 from nkcsgexi/allow-list-rename ABIChecker: rename argument -protocol-requirement-white-list to -protocol-requirement-allow-list. NFC

view details

Doug Gregor

commit sha 16876fbf6617c40df326df7d3fe00a15ff77448b

[Clang importer] Drop unused parameter from getParamOptionality(). This operation is not actually dependent on the version.

view details

swift_jenkins

commit sha 114cfe5101abe2a54c67becd3e71b32827d1f9ed

Merge remote-tracking branch 'origin/master' into master-rebranch

view details

Artem Chikin

commit sha 12dd83db4fa1ba57917e7c797c390e3349dda8ff

Merge pull request #33670 from artemcm/ClangScannerPathPrefixes [Dependency Scanner] Prefix Clang dependency scanner search path arguments with `-Xcc`

view details

swift_jenkins

commit sha 1dd6e292349cd30a1187ddfdb8e050f2f24f223d

Merge remote-tracking branch 'origin/master' into master-rebranch

view details

Ole Begemann

commit sha 6e8ee7cc49f0443ed929640ab82192858b4f4f67

[docs] Fix small mistake in DynamicCasting.md (#33641) Foundation has no `Number` type.

view details

Artem Chikin

commit sha 5afbddb42bbfc15dda8d6c286dd69033aa4a1a59

[Dependency Scanner] Ensure that Clang dependency scanner instances inherit the creating invocation's extra clang args. This ensures that when the dependency scanner is invoked with additional clang (`-Xcc`) options, the Clang scanner is correctly configured using these options.

view details

push time in 16 days

pull request commentapple/swift

[Sema] Define availability versions with a compiler flag

@swift-ci Please smoke test

xymus

comment created time in 16 days

delete branch xymus/swift

delete branch : inherit-unavailability

delete time in 17 days

push eventapple/swift

Alexis Laferrière

commit sha 14e6772dc04cf778ba393bebc21a0a8b8ada3603

Consider inherited platform unavailability to silence diagnostics rdar://68597591

view details

Alexis Laferrière

commit sha 6c726647f26423bcc2953a934cb52efbc263d080

Merge pull request #34087 from xymus/inherit-unavailability [Sema] Consider inherited platform unavailability to silence diagnostics Unavailability inherited by a platform wasn't taken into account when reporting the use of unavailable types imported from Objective-C in unavailable code. This likely forced uses to write an explicit `@available(macCatalyst, unavailable)` even when a `@available(iOS, unavailable)` was present. rdar://68597591

view details

push time in 18 days

PR merged apple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

Unavailability inherited by a platform wasn't taken into account when reporting the use of unavailable types imported from Objective-C in unavailable code. This likely forced uses to write an explicit @available(macCatalyst, unavailable) even when a @available(iOS, unavailable) was present.

rdar://68597591

+28 -1

8 comments

2 changed files

xymus

pr closed time in 18 days

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please smoke test Linux platform

xymus

comment created time in 18 days

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please test Windows platform

xymus

comment created time in 18 days

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please test Windows platform

xymus

comment created time in 19 days

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please smoke test Linux platform

xymus

comment created time in 19 days

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please smoke test

xymus

comment created time in 20 days

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in 21 days

pull request commentapple/swift-source-compat-suite

Revert "Xfail siesta and siesta-legacy"

@swift-ci Please test

xymus

comment created time in 21 days

PR opened apple/swift-source-compat-suite

Reviewers
Revert "Xfail siesta and siesta-legacy"

Reverts apple/swift-source-compat-suite#460. These should have been fixed by https://github.com/apple/swift/pull/34102.

+2 -12

0 comment

1 changed file

pr created time in 21 days

PullRequestReviewEvent

Pull request review commentapple/swift

[Serialization] Gate Clang type (de)serialization behind UseClangFunctionTypes

 class SwiftToClangBasicReader :  llvm::Expected<const clang::Type *> ModuleFile::getClangType(ClangTypeID TID) {+  if (getContext().LangOpts.UseClangFunctionTypes)+    return nullptr;

Are you sure about the direction of this check? Or if we skip getClangType when UseClangFunctionTypes, what do we use instead?

varungandhi-apple

comment created time in 23 days

PullRequestReviewEvent

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please test Linux platform

xymus

comment created time in a month

Pull request review commentapple/swift

Add -testable-import-module frontend flag (+ refactoring)

 class DenseMapInfo<swift::ImportedModule> {   } }; -template<>-struct DenseMapInfo<swift::ImportedModuleDesc> {-  using ImportedModuleDesc = swift::ImportedModuleDesc;+template<typename ModuleInfo>+struct DenseMapInfo<swift::AttributedImport<ModuleInfo>> {+  using AttributedImport = swift::AttributedImport<ModuleInfo>; -  using ImportedModuleDMI = DenseMapInfo<swift::ImportedModule>;+  using ModuleInfoDMI = DenseMapInfo<ModuleInfo>;   using ImportOptionsDMI = DenseMapInfo<swift::ImportOptions>;   using StringRefDMI = DenseMapInfo<StringRef>;+  // FIXME: SPI groups not used by DenseMapInfo???

I'm not familiar with the DenseMapInfo logic and the doc is sparse so this was not intentional. However SPI groups on an import should affect type checking at the source file level only. Does it apply here?

brentdax

comment created time in a month

PullRequestReviewEvent

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please smoke test Linux platform

xymus

comment created time in a month

pull request commentapple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

@swift-ci Please smoke test

xymus

comment created time in a month

PR opened apple/swift

[Sema] Consider inherited platform unavailability to silence diagnostics

rdar://68597591

+28 -1

0 comment

2 changed files

pr created time in a month

create barnchxymus/swift

branch : inherit-unavailability

created branch time in a month

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please test source compatibility

xymus

comment created time in a month

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in a month

push eventxymus/swift

Alexis Laferrière

commit sha cf5abace1f8e6d9ab6cbd2259ebfde9cdea2c160

[Sema] Create a new TypeRefinementContext only for explicit inlinables

view details

Alexis Laferrière

commit sha 692969ab345b8a877fca9b27210ccd6a0eec72a7

WIP accept unavailable constructors override in unavailable types

view details

push time in a month

pull request commentapple/swift

[Sema] Fix availability checking in inlinable code

@swift-ci Please smoke test

xymus

comment created time in a month

push eventxymus/swift

Alexis Laferrière

commit sha 3501fb9a498995693b99f6ccfe8002ac44e8a716

[Sema] Create a new TypeRefinementContext only for explicit inlinables

view details

Alexis Laferrière

commit sha 315b01f5494f86e91e919096326347b64a716590

WIP accept unavailable constructors override in unavailable types

view details

push time in a month

more