Skip to content

Enable multiple #[assert_instr] attributes - #96

Merged
alexcrichton merged 2 commits into
masterfrom
alexcrichton-patch-1
Oct 6, 2017
Merged

Enable multiple #[assert_instr] attributes#96
alexcrichton merged 2 commits into
masterfrom
alexcrichton-patch-1

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Looks like all we needed to do was generate new function names!

Looks like all we needed to do was generate new function names!
@alexcrichton
alexcrichton merged commit cab8a5d into master Oct 6, 2017
@alexcrichton
alexcrichton deleted the alexcrichton-patch-1 branch October 6, 2017 21:19
github-actions Bot pushed a commit that referenced this pull request Aug 18, 2025
…n, r=petrochenkov

Prevent name collisions with internal implementation details

The implementation of the linkage attribute inside extern blocks defines symbols starting with _rust_extern_with_linkage_. If someone tries to also define this symbol you will get a symbol conflict or even an ICE. By adding an unpredictable component to the symbol name, this becomes less of an issue.

Spawned from the discussion at [#t-compiler > About static variables `_rust_extern_with_linkage_*`](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/About.20static.20variables.20.60_rust_extern_with_linkage_*.60) cc `@ywxt`

Fixes rust-lang/rust#144940
github-actions Bot pushed a commit that referenced this pull request Feb 16, 2026
Remove the 4 failing tests from rustdoc-gui

These are the 4 tests that @Bryntet got to fail locally
See [#t-infra > CI failure because `tests/rustdoc-gui/search-filter.goml`](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/CI.20failure.20because.20.60tests.2Frustdoc-gui.2Fsearch-filter.2Egoml.60/with/572271674)

r? @ghost
github-actions Bot pushed a commit that referenced this pull request Feb 16, 2026
Rename `inline_fluent!` to `msg!`

This was the most popular name for the macro as voted in [#t-compiler > Bikeshed the new `inline_fluent!` macro @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Bikeshed.20the.20new.20.60inline_fluent!.60.20macro/near/572751863)
github-actions Bot pushed a commit that referenced this pull request Aug 24, 2026
add a cache to the `WfPredicates` visitor





Part of speeding up compiling `ReShell` with `-Znext-solver`, see rust-lang/trait-system-refactor-initiative#272 and [#t-types/trait-system-refactor > more `reshell` slowness](https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/more.20.60reshell.60.20slowness/with/616484452).

The PR changes the `WfPredicates` visitor to only collect new bounds for unique types. That is, if we have a type like:

```
type T0 = Map<Then<Whitespace, Whitespace>>
type T1 = Map<Then<T0, T0>>
type T2 = Map<Then<T1, T1>>
...
type T_N = Map<Then<T_N-1, T_N-1>>
```

etc., the visitor used to end up collecting one WF obligation for each path from `T_N` to its `Whitespace` leaves, even though WF of a type (I believe) doesn't depend on the path the visitor took to get there, which allows us to deduplicate by Ty. Not deduplicating caused us to go O(2^N) here.

next-solver is still about ~5x slower than the old solver on the third reproducer due to some other hidden quadratics, and fixing that seems to be more involved, but I think this PR will still be ✨ An Improvement.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant