profile
viewpoint
Patrick Pijnappel PatrickPijnappel Twitter Melbourne, Australia http://www.patrickpijnappel.com Co-founder of Archimedes (archimedescalculator.com).

apple/swift 53958

The Swift Programming Language

apple/swift-evolution 11558

This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.

apple/swift-package-manager 8009

The Package Manager for the Swift Programming Language

apple/swift-corelibs-foundation 4037

The Foundation Project, providing core utilities, internationalization, and OS independence

apple/swift-corelibs-xctest 862

The XCTest Project, A Swift core library for providing unit test support

apple/swift-llbuild 798

A low-level build system, used by Xcode and the Swift Package Manager

apple/swift-lldb 645

This is the version of LLDB that supports the Swift programming language & REPL.

PatrickPijnappel/Machino 7

A tool to help program Arduino.

pull request commentapple/swift

[stdlib] Change misleading comment

@xwu All good?

PatrickPijnappel

comment created time in 4 days

pull request commentapple/swift

[stdlib] Change misleading comment

@swift-ci Please smoke test

PatrickPijnappel

comment created time in 8 days

Pull request review commentapple/swift

[stdlib] Change misleading comment

 extension FixedWidthInteger {     let minBitWidth = source.significandWidth     let isExact = (minBitWidth <= exponent)     let bitPattern = source.significandBitPattern-    // `RawSignificand.bitWidth` is not available if `RawSignificand` does not-    // conform to `FixedWidthInteger`; we can compute this value as follows if-    // `source` is finite:+    // Determine the number of meaningful bits in the significand bit pattern.

That makes sense! Added the expanded clarification.

PatrickPijnappel

comment created time in 8 days

PullRequestReviewEvent

push eventapple/swift

Patrick Pijnappel

commit sha 8ecd884b626a98f7b84ececfc1cbe37dde8f5b59

[stdlib] Expand integer conversion comment

view details

push time in 8 days

pull request commentapple/swift

[stdlib] Change misleading comment

@swift-ci Please smoke test

PatrickPijnappel

comment created time in 8 days

PR opened apple/swift

[stdlib] Change misleading comment

<!-- What's in this pull request? --> The original comment suggests that RawSignificand.bitWidth would be the thing we'd want to use if it were available, however using this would be incorrect as this would include leading zero bits in the bit pattern. For example, for a Double this would always be 64 even though only the least significant 52 bits of this are used. Instead, 52 is the number we are after in our example.

<!-- Before merging this pull request, you must run the Swift continuous integration tests. For information about triggering CI builds via @swift-ci, see: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md#swift-ci

Thank you for your contribution to Swift! -->

+1 -3

0 comment

1 changed file

pr created time in 8 days

create barnchapple/swift

branch : PatrickPijnappel-float-comment

created branch time in 8 days

create barnchPatrickPijnappel/swift

branch : main

created branch time in 24 days

pull request commentapple/swift

[stdlib] Rewrite integer parsing

Please update the base branch to main by Oct 5th otherwise the pull request will be closed automatically.

  • How to change the base branch: (Link)
  • More detail about the branch update: (Link)

Updated. I unfortunately haven't had the time to get back to finishing this up, but hope to have some time soon.

PatrickPijnappel

comment created time in 24 days

push eventPatrickPijnappel/swift

Pavel Yaskevich

commit sha 5872cef2ff8a096612b0e5cccd1ebfbc69967236

[CSSolver/CodeCompletion] If pre-check fails extract code completion expression and use it If there was an invalid reference which was caught by pre-check, let's remove all context besides code completion itself and use it to produce code completion results.

view details

Pavel Yaskevich

commit sha 97de1781519a58022429224089f09dea47a5baeb

[CSSolver] Solution: Resolve holes as underlying generic parameters for code completion To aid code completion, we need to attempt to convert type holes back into underlying generic parameters if possible, since type of the code completion expression is used as "expected" (or contextual) type so it's helpful to know what requirements it has to filter the list of possible member candidates e.g. ```swift func test<T: P>(_: [T]) {} test(42.#^MEMBERS^#) ``` It's impossible to resolve `T` in this case but code completion expression should still have a type of `[T]` instead of `[<<hole>>]` because it helps to produce correct contextual member list based on a conformance requirement associated with generic parameter `T`.

view details

Nathan Hawes

commit sha 5100de42935bcc853047b7e1b99ade17953f5c5e

[CodeCompletion] Fallback to typechecking just the completion expression in cases where typeCheckExpression is never called. This happens when, e.g. an expression being switched on is invalid so expression patterns in the switch cases (which may contain the completion expression) are not checked. Also setup the Lookup object to handle member completion in ObjC selector expressions correctly, and fix passing the wrong expression when computing isStaticallyDerivedMetatype().

view details

Pavel Yaskevich

commit sha b71fdb5704e4c969ff49baabd8f146c0b9b38ef4

[CSSolver] Augment `solveForCodeCompletion` to indicate when it fails

view details

Pavel Yaskevich

commit sha d6d083ecf87718ba78007a76e719adc437dbd00d

[TypeChecker] Mode code completion fallback to `typeCheckForCodeCompletion` If an expression fails pre-check or constraint generation, code completion should be performed directly on the `CodeCompletionExpr` as a fallback. Let's factor that logic out from `solveForCodeCompletion` and put it directly into `typeCheckForCodeCompletion` because it's easier to establish fault conditions there.

view details

Pavel Yaskevich

commit sha 74f0ec5b973edea1311226978124c9cc9c17fd16

[TypeChecker/CodeCompletion] Allow `{typeCheck, solve}ForCodeCompletion` to operate on target instead of expression Using `SolutionApplicationTarget` make it easier to propage contextual information and avoid mistakes of using incorrect accessors for constraint generation.

view details

Pavel Yaskevich

commit sha d97a7f3d19d813540a2f42c11b29ef988afadad7

[TypeChecker/CodeCompletion] Make viability checking responsibility of `typeCheckForCodeCompletion` There is no way to separate viability/applicability checking from `TypeChecker::typeCheckForCodeCompletion` because multi-statement closures could be either type-checked together with enclosing context (e.g. when closure represents a function builder body), or separately - when it's just a regular closure. Due to this "duality" we need to attempt to run code completion code to determine whether body of the closure participated in type-check and if it didn't, fallback to a `typeCheckExpression`.

view details

Pavel Yaskevich

commit sha 7a9c59a4cad9013dfaad590993860066bb98cbf3

[ConstraintSystem] Add `Solution::hasType(ASTNode)`

view details

Pavel Yaskevich

commit sha 8d5c94f232a244355292ace32e9d6322f0a9a16c

[TypeChecker/CodeCompletion] Implement a fallback from code completion to `typeCheckExpression` This fallback to `typeCheckExpression` is triggered when it's determined that code completion expression is located inside of a multi-statement closure and its body is going going to participate in type-check.

view details

Nathan Hawes

commit sha 6e657e8615351df412a71ba2f298cdc0c44106a6

[CodeCompletion] Fix incorrect type relations in complete_enum_elements test. We were reporting methods that return function types that return void (rather than returning void directly) as being invalid in contexts that expect non-void expressions and testing for that incorrect behavior.

view details

Pavel Yaskevich

commit sha c5098cba75ad8ab39548a773627f04dba2bdd99c

[TypeChecker] Safe all contextual information about completion expression Having all information possible makes it much easier to determine when it's appropriate to fallback to type-check code completion expression and whether it's possible to add some more context to it.

view details

Nathan Hawes

commit sha 8070c074248495ad64d08ed15ef635ed4039db42

[CodeCompletion] Fix bug in logic determining whether void members are valid.

view details

Nathan Hawes

commit sha 92a2e0d55cddf1b0e2f2e077d83e4b57499d5ab3

[Parse] Perform the single expression function body transform for delayed parsing as well We were previously only doing it when parsing up front.

view details

Nathan Hawes

commit sha 03b5296f703be2a7762986607f6f0a5d54de0a7b

[test] Update code completion test with improved type relation result.

view details

Nathan Hawes

commit sha b4553cdd4fa37b57d700434401e23acfef7f951e

[CodeCompletion][test] Update test/IDE/complete_exception.swift with improved type relation.

view details

Pavel Yaskevich

commit sha 8573c99117ea17019ce03401c520e1f8f8975f0f

Merge pull request #33690 from xedin/csbindings-protocol-propagation [ConstraintSystem] NFC: Clarify why upward propagation of literal conforma…

view details

Xi Ge

commit sha db0a6f74afdb5810c626d8f8860261189648d844

Merge pull request #33691 from nkcsgexi/fix-67951012 swift_build_sdk_interfaces.py: adjust output directory path to an SDK-versioned directory

view details

Nathan Hawes

commit sha 35a9d681f3eba786a47663cb6de3f6fe9932a8c2

[Sema] TypeCheckNodeAtLoc: strip out the implicit return the parser adds to single expression bodies for void-returning functions This makes TypeCheckNodeAtLoc match the regular function body typechecking behavior and fixes a crash in test/IDE/complete_value_expr.swift

view details

Nathan Hawes

commit sha 9fc3bee80020678e1f77334837411581ba172c71

[test] Add member completion tests where the base has errors, or is ambiguous.

view details

Nathan Hawes

commit sha 198687018cbeb52e225c5acac7c72661c12dee80

[IDE] Fix typo to address unused warning (NFC)

view details

push time in 24 days

push eventPatrickPijnappel/swift

Pavel Yaskevich

commit sha f2c2aa5d16586f305518a24efe97b1ae571a2d19

[AST] Mark repr invalid only if `@autoclosure` parameter doesn't point to function type Instead on depending on repr to be a function, let's only check whether type resolved for `@autoclosure` points to a function type because it's allowed for `@autoclosure` parameters to be to wrapped into parens or be represented by a typealias. Resolves: rdar://problem/65704049

view details

Xi Ge

commit sha 54c7e1926ace7199d1c3c9364aec2cf6e8f43d89

Merge pull request #33139 from nkcsgexi/move-sdk-version-to-platforms Front-end: sink SDK version implementation to lib/Basic. NFC

view details

fredriss

commit sha a1ae1097832eaf30c61f3fd020f7739b3baeed2c

Merge pull request #33133 from hyp/compiler-rt-sim-libs [build-script] copy over the simulator libclang_rt.*.a libraries to a…

view details

Slava Pestov

commit sha 8fcd74e6b34dd09101e904d40b805f1c79651f71

AST: GenericParamList::clone() doesn't need to preserve source locations

view details

Slava Pestov

commit sha 32ceba8d2ae580cf17e3d05a3a2eff51268434c8

AST: Add GenericParamList::setDeclContext()

view details

Slava Pestov

commit sha 14dd4eef2d0234997feb47af8d1aa644d62fa192

AST: Add a way to distinguish a parsed generic parameter list from a synthesized one Add a new GenericContext::getParsedGenericParams(). This produces the same value as GenericContext::getGenericParams() if the generic parameter list was written in source. For extensions and protocols, this returns nullptr without synthesizing anything.

view details

Slava Pestov

commit sha 43e37b789558a3035bdee39f0859d06ab74ac807

AST: Move GenericParamListRequest::evaluate() to NameLookup.cpp

view details

Slava Pestov

commit sha a39c560e7b76350287140de101a8b2461e67e41c

AST: Remove redundant cloneGenericParams() helper function

view details

Slava Pestov

commit sha daf65ce92367da5c41d6141ae2b755bc7f2f1241

AST: Explicitly encode that only protocol and extension members are visible in a 'where' clause Today, ASTScope only creates NominalTypeWhereScopes for the 'where' clause of an extension or a protocol. All other generic declarations model the 'where' clause as part of the declaration's scope itself (but it's not part of the body scope). Lookups into the NominalTypeWhereScope would look inside the type, because this is how we want protocol and protocol extension scopes to work -- you should be able to refer to associated types without a 'Self' prefix. Let's add a conditional check for protocols and extensions to the implementation of NominalTypeWhereScope, so that we can use this scope for all other 'where' clauses and keep the old behavior. Note that today, even _concrete_ extensions have this behavior, which is perhaps slightly unexpected: class C<T> { typealias U = Int } extension C where T == U {} It would be nice to tighten up the rule here but there's already a test in the suite that depends on it.

view details

Slava Pestov

commit sha c46eb22fcd78acf5ed2bdbf1c36540dc608ca2b6

AST: Don't attach trailing where clause requirements to the GenericParamList Previously we had two representations for the 'where' clause of a parsed declaration; if the declaration had generic parameters of its own, we would store them in the GenericParamList, otherwise we would store them separately in a TrailingWhereClause instance. Since the latter is more general and also used for protocols and extensions, let's just use it for everything and simplify GenericParamList in the process.

view details

Slava Pestov

commit sha 769c4c19115ca2b6b21c7925d72cebd10943bfd9

Sema: Fix some crashes with invalid nesting of extensions and protocols Make sure we consistently use getParentForLookup() and not getParent() when looking at generic DeclContexts. This is because an extension or protocol that is nested inside of another generic context must never inherit generic parameters from the parent context. We already had this invariant enforced in some places, but now that we do it more consistently we can fix more crashes of this kind. Fixes <rdar://problem/58813746>, <https://bugs.swift.org/browse/SR-13004>.

view details

Slava Pestov

commit sha 498ef313c6b1ad4eb464df51ada37886bca6afeb

Sema: Refactor exportability checking to not use the GenericRequirementsCheckListener

view details

Slava Pestov

commit sha 3414d6b4dc2f03b9e245ab15620825b61253a2b8

Sema: Remove GenericRequirementsCheckListener

view details

Butta

commit sha 587973fd8b31d86e981401be0a3fcd0698b31f20

[build] Remove unemployed 'skip-{build,test}-*' flags from build-script-impl These flags have done nothing for awhile, as 26 of 31 have already been moved to build-script. Only the flags related to haiku, maccatalyst, and external-benchmarks are unrecognized by either build script after this removal.

view details

Mishal Shah

commit sha 3a50f93c60f6718ccdb9f685c57e8ac8188e1788

Merge pull request #33142 from natecook1000/nate/stdlib-stability-abi [stdlib] Only include _getMetadataSection functions in stdlib builds w/ assertions

view details

Dmitri Gribenko

commit sha 1465ee6b2902108be780cb49307a538efe04fa2c

Merge pull request #33150 from zoecarver/cxx/fix/struct-with-subobject-destructor-name [cxx-interop] [nfc] HasMemberWithDestructor => StructWithSubobjectDestructor in comment.

view details

eeckstein

commit sha 5fffeb81fb17ea7ee89d7a200f10e91c9d2f9607

Merge pull request #33128 from eeckstein/string-optimization SIL optimizer: Add a new string optimization

view details

Suyash Srijan

commit sha db53fc7eb832e92791036785f5daa065c3c138b6

[Sema] Diagnose wrapped property if its projected value property conflicts with lazy variable storage property (#33152)

view details

Saleem Abdulrasool

commit sha 2bf0ee413f4f3f191bf459ed0bed76d94647d057

build: remove tensorflow-swift-apis from the master branch Remove the ability to build this dependency.

view details

Nate Cook

commit sha 498969f64ea20201e09b55f922cb1905c87a18ae

XFAIL SILOptimizer/large_string_array.swift.gyb (#33157)

view details

push time in 2 months

more