Skip to content

Conversation

glessard
Copy link
Contributor

@glessard glessard commented Mar 1, 2022

Implementation of SE-0370 with improvements to pointer family initialization API, and to buffer slicing.

Resolves rdar://99461160

@glessard
Copy link
Contributor Author

glessard commented Mar 1, 2022

@swift-ci please smoke test

@glessard
Copy link
Contributor Author

glessard commented Mar 2, 2022

The draft needs a good number of @_alwaysEmitIntoClient attributes added.

@glessard
Copy link
Contributor Author

glessard commented Mar 8, 2022

@swift-ci please smoke test macOS platform

@glessard
Copy link
Contributor Author

@swift-ci please smoke test

@glessard glessard force-pushed the se-pointer-family-initialization branch from b1a5caa to 345756e Compare March 14, 2022 22:04
@glessard
Copy link
Contributor Author

@swift-ci please smoke test

@glessard
Copy link
Contributor Author

@swift-ci please smoke test macOS platform

@glessard glessard force-pushed the se-pointer-family-initialization branch from 345756e to cf1fc47 Compare March 19, 2022 00:12
@glessard
Copy link
Contributor Author

@swift-ci please smoke test

@glessard
Copy link
Contributor Author

@swift-ci please smoke test Linux platform

@glessard
Copy link
Contributor Author

@swift-ci please test

@glessard glessard force-pushed the se-pointer-family-initialization branch from 04888f3 to 9e5b246 Compare June 24, 2022 21:49
@glessard
Copy link
Contributor Author

@swift-ci please test

@glessard glessard force-pushed the se-pointer-family-initialization branch from 9e5b246 to 54941cc Compare June 27, 2022 16:10
@glessard
Copy link
Contributor Author

@swift-ci please test

1 similar comment
@glessard
Copy link
Contributor Author

@swift-ci please test

@glessard glessard changed the title [DNM] SE pitch: pointer family initialization improvements & better buffer slices [DNM][SE-0370] pointer family initialization improvements & better buffer slices Aug 17, 2022
@theblixguy theblixguy added the swift evolution pending discussion Flag → feature: A feature that has a Swift evolution proposal currently in review label Aug 17, 2022
@glessard
Copy link
Contributor Author

@swift-ci Please Test Source Compatibility

@glessard
Copy link
Contributor Author

@swift-ci please test

@glessard glessard force-pushed the se-pointer-family-initialization branch from c57f285 to c914cc7 Compare August 24, 2022 22:01
@glessard
Copy link
Contributor Author

@swift-ci please test macOS platform

@glessard
Copy link
Contributor Author

@swift-ci please test

@glessard
Copy link
Contributor Author

@swift-ci please test linux platform

@glessard glessard force-pushed the se-pointer-family-initialization branch from 4f8dd21 to efa9323 Compare September 7, 2022 21:30
@glessard glessard force-pushed the se-pointer-family-initialization branch from efa9323 to fb9bff3 Compare September 8, 2022 17:04
@glessard glessard force-pushed the se-pointer-family-initialization branch from fb9bff3 to ffa7b0e Compare September 9, 2022 10:28
@benrimmington
Copy link
Contributor

For the "may overlap" vs "must not overlap" notes, could different types of asides be used?
(If those DocC features are supported in the standard library.)

@glessard
Copy link
Contributor Author

@benrimmington I believe we support all of docc; I was unaware of the "Warning" aside. I will improve this in a followup PR.

@glessard
Copy link
Contributor Author

@swift-ci please test and merge

@benrimmington

This comment was marked as outdated.

@glessard
Copy link
Contributor Author

glessard commented Sep 10, 2022

Should these all be @available(SwiftStdlib 5.0, *) or earlier?

I will try a different way to define these. Earlier they had "passed" the ABI checker test because I had wrongly marked them as @_alwaysEmitIntoClient.

@glessard
Copy link
Contributor Author

FAIL: Swift-validation(linux-x86_64) :: SIL/parse_stdlib.sil

I will need help for this one.

@glessard
Copy link
Contributor Author

The ABI checker doesn't understand primary associated types?

I'll revert the copyBytes change and deal with it elsewhere.

return startIndex.advanced(by: count)
}

var (iterator, copied) = source._copySequenceContents(initializing: self)
Copy link
Member

@lorentey lorentey Sep 11, 2022

Choose a reason for hiding this comment

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

Huh, is there a reason we aren't calling _copyContents here? Now that we require the source to fit in the target, its precondition doesn't seem problematic.

Copy link
Contributor Author

@glessard glessard Sep 12, 2022

Choose a reason for hiding this comment

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

It seemed redundant to have the full _copyContents only to double-check its work after it returns. Every stdlib type that implements a _copyContents fast path also has wCSIA.

@glessard
Copy link
Contributor Author

@swift-ci please test macOS platform

@glessard
Copy link
Contributor Author

@swift-ci please test linux platform

@glessard
Copy link
Contributor Author

@swift-ci please test linux platform

@glessard
Copy link
Contributor Author

@swift-ci please test macOS platform

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

swift evolution approved Flag → feature: A feature that was approved through the Swift evolution process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants