| Age | Commit message (Collapse) | Author | Lines |
|
epoll: rename blocking_epoll_callback since it is not just called after unblocking
`@tiif` does `return_ready_list` seem like a reasonable name?
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #123951 (Reserve guarded string literals (RFC 3593))
- #130827 (Library: Rename "object safe" to "dyn compatible")
- #131383 (Add docs about slicing slices at the ends)
- #131403 (Fix needless_lifetimes in rustc_serialize)
- #131417 (Fix methods alignment on mobile)
- #131449 (Decouple WASIp2 sockets from WasiFd)
- #131462 (Mention allocation errors for `open_buffered`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix spelling in README
Great project! I was reading some docs and found these that I think are spelling errors.
|
|
|
|
|
|
Reserve guarded string literals (RFC 3593)
Implementation for RFC 3593, including:
- lexer / parser changes
- diagnostics
- migration lint
- tests
We reserve `#"`, `##"`, `###"`, `####`, and any other string of four or more repeated `#`. This avoids infinite lookahead in the lexer, though we still use infinite lookahead in the parser to provide better forward compatibility diagnostics.
This PR does not implement any special lexing of the string internals:
- strings preceded by one or more `#` are denied
- regardless of the number of trailing `#`
- string contents are lexed as if it was just a bare `"string"`
Tracking issue: #123735
RFC: rust-lang/rfcs#3593
|
|
fix: include description in label details when detail field is marked for …
Fixes https://github.com/rust-lang/rust-analyzer/issues/18231.
When omitting the autocomplete detail field, the autocomplete label details can still be returned. Currently the label details are missing the description field if the detail field is included in resolveSupport since it is being overwritten as None and opted to be sent with `completionItem/resolve`.
Example completion capabilities.
```
completion = {
completionItem = {
commitCharactersSupport = true,
deprecatedSupport = true,
documentationFormat = { "markdown", "plaintext" },
insertReplaceSupport = true,
insertTextModeSupport = {
valueSet = { 1, 2 }
},
labelDetailsSupport = true,
preselectSupport = true,
resolveSupport = {
properties = { "documentation", "detail", "additionalTextEdits", "sortText", "filterText", "insertText", "textEdit", "insertTextFormat", "insertTextMode" }
},
snippetSupport = true,
tagSupport = {
valueSet = { 1 }
}
}
```
|
|
This pulls in a bug fix relative to the 0.5.9 release which was
updated-to recently.
|
|
|
|
The shim syscall logic doesn't support ID 290, SYS_eventfd2.
|
|
Add "reference" as a known compiletest header
This adds the "reference" compiletest header so that the Rust reference can add annotations to the test suite in order to link tests to individual rules in the reference.
Tooling in the reference repo will be responsible for collecting these annotations and linking to the tests.
More details are in MCP 783: https://github.com/rust-lang/compiler-team/issues/783
There is a change from the MCP in that I am not adding the JSON collection to compiletest (at least, not yet). In looking at this more closely, that actually makes things more difficult for our tooling, so I'm leaving it out for now. If in the future it looks like something we want, then I think we can add it later.
There are a few tests here which need adjusting due to the legacy header check. `@jieyouxu` indicated on Zulip that we could potentially remove the legacy header check, in which case those changes can be dropped from this PR.
r? `@jieyouxu`
|
|
Fix over synchronization of epoll
Fixes #3944.
The clock used by epoll is now per event generated, rather than by the `epoll's` ready_list.
The same epoll tests that existed before are unchanged and still pass. Also the `tokio` test case we had worked on last week still passes with this change.
This change does beg the question of how the epoll event states should change. Perhaps rather than expose public crate bool fields, so setters should be provided that include a clock parameter or an optional clock parameter. Also should all the epoll event possibilities have their clock sync tested the way these commit lay out testing. In this first go around, only the pipe's EPOLLIN is tested. The EPOLLOUT might deserve testing too, as would the eventfd. Any future source of epoll events would also fit into that category.
|
|
|
|
Fixed pthread_getname_np impl for glibc
The behavior of `glibc` differs a bit different for `pthread_getname_np` from other implementations. It requires the buffer to be at least 16 bytes wide without exception.
[Docs](https://www.man7.org/linux/man-pages/man3/pthread_setname_np.3.html):
```
The pthread_getname_np() function can be used to retrieve the
name of the thread. The thread argument specifies the thread
whose name is to be retrieved. The buffer name is used to return
the thread name; size specifies the number of bytes available in
name. The buffer specified by name should be at least 16
characters in length. The returned thread name in the output
buffer will be null terminated.
```
[Source](https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_getname.c;hb=dff8da6b3e89b986bb7f6b1ec18cf65d5972e307#l37):
```c
int
__pthread_getname_np (pthread_t th, char *buf, size_t len)
{
const struct pthread *pd = (const struct pthread *) th;
/* Unfortunately the kernel headers do not export the TASK_COMM_LEN
macro. So we have to define it here. */
#define TASK_COMM_LEN 16
if (len < TASK_COMM_LEN)
return ERANGE;
```
|
|
|
|
lsp: fix completion_item something_to_resolve not being a latch to true
while looking at #18245 i noticed that `something_to_resolve` could technically flap between true -> false if some subsequent fields that were requested to be resolved were empty.
this fixes that by using `|=` instead of `=` when assigning to `something_to_resolve` which will prevent it from going back to false once set.
although some cases it's simply assigning to `true` i opted to continue to use `|=` there for uniformity sake. but happy to change those back to `=`'s.
cc `@SomeoneToIgnore`
|
|
fix: Fix `prettify_macro_expansion()` when the node isn't the whole file
Fixes #18238.
|
|
unblocking
|
|
This adds the "reference" compiletest header so that the Rust reference
can add annotations to the test suite in order to link tests to
individual rules in the reference.
Tooling in the reference repo will be responsible for collecting these
annotations and linking to the tests.
More details are in MCP 783: https://github.com/rust-lang/compiler-team/issues/783
|
|
|
|
This cache struct entry was a relic from when profiler availability was
communicated via an environment variable rather than a command-line flag.
|
|
|
|
|
|
Update cargo
8 commits in ad074abe3a18ce8444c06f962ceecfd056acfc73..15fbd2f607d4defc87053b8b76bf5038f2483cf4
2024-10-04 18:18:15 +0000 to 2024-10-08 21:08:11 +0000
- initial version of checksum based freshness (rust-lang/cargo#14137)
- feat: Add custom completer for completing registry name (rust-lang/cargo#14656)
- Document build-plan as being deprecated (rust-lang/cargo#14657)
- fix(complete): Don't complete files for any value (rust-lang/cargo#14653)
- Add more SAT resolver tests (rust-lang/cargo#14614)
- fix: avoid inserting duplicate `dylib_path_envvar` when calling `cargo run` recursively (rust-lang/cargo#14464)
- chore(deps): bump gix-path from 0.10.9 to 0.10.11 (rust-lang/cargo#14489)
- improve error reporting when feature not found in `activated_features` (rust-lang/cargo#14647)
---
This also adds three license exceptions to Cargo.
* arrayref — BSD-2-Clause
* blake3 — CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception
* constant_time_eq — CC0-1.0 OR MIT-0 OR Apache-2.0
These exceptions were added to rustc in rust-lang/rust#126930, so should be fine for Cargo as well.
|
|
|
|
|
|
This also adds three license exceptions to Cargo.
* arrayref — BSD-2-Clause
* blake3 — CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception
* constant_time_eq — CC0-1.0 OR MIT-0 OR Apache-2.0
These exceptions were added to rustc in rust-lang/rust#126930,
so should be fine for Cargo as well.
|
|
This ensures that when being on an `await` token, it still only
highlights the yield points and not the exit points.
|
|
|
|
Simplify the compiletest directives for ignoring coverage-test modes
Follow-up to #131346.
Given that these directives are now restricted to ignoring coverage-test modes only, we can drop the clunky `ignore-mode-*` naming convention, and just call them `ignore-coverage-map` and `ignore-coverage-run`.
r? jieyouxu
|
|
before, when formatting struct constructor for `struct S(usize, usize)` it would format as:
extern "rust-call" S(usize, usize) -> S
but after this change, we'll format as:
fn S(usize, usize) -> S
|
|
Rollup of 3 pull requests
Successful merges:
- #131348 (More `rustc_infer` cleanups)
- #131392 (Drop compiletest legacy directive check)
- #131395 (Add a mailmap entry for bjorn3)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Drop compiletest legacy directive check
Sufficient time has passed (> 6 months) since we migrated from `//` to `//`@`,` so let's drop the
legacy directive check as it causes friction due to false positives.
As a side-effect, dropping the legacy directive check simplifies the directive scanning logic.
The legacy directive check was originally added to help people be aware of the migration.
Blocker for #131382 cc `@ehuss.`
Can be reviewed by any compiler/bootstrap reviewer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sufficient time has passed (> 6 months) since we migrated from `//` to
`//@`, so let's drop the legacy directive check as it causes friction
due to false positives.
|
|
|
|
Add tests for some old fixed issues
Closes #30867
Closes #30472
Closes #28994
Closes #26719 (and migrates the relevant test to the new run-make)
Closes #23600
cc `@jieyouxu` for the run-make-support changes
try-job: x86_64-msvc
|
|
|
|
|
|
|
|
|