Jacob Pratt
221402e863
Rollup merge of #121840 - oli-obk:freeze, r=dtolnay
...
Expose the Freeze trait again (unstably) and forbid implementing it manually
non-emoji version of https://github.com/rust-lang/rust/pull/121501
cc #60715
This trait is useful for generic constants (associated consts of generic traits). See the test (`tests/ui/associated-consts/freeze.rs`) added in this PR for a usage example. The builtin `Freeze` trait is the only way to do it, users cannot work around this issue.
It's also a useful trait for building some very specific abstrations, as shown by the usage by the `zerocopy` crate: https://github.com/google/zerocopy/issues/941
cc ```@RalfJung```
T-lang signed off on reexposing this unstably: https://github.com/rust-lang/rust/pull/121501#issuecomment-1969827742
2024-03-11 03:47:19 -04:00
Ralf Jung
804eeff180
only set noalias on Box with the global allocator
2024-03-05 15:03:33 +01:00
Oli Scherer
a11756ca75
Forbid implementing Freeze
even if the trait is stabilized
2024-02-29 14:10:29 +00:00
Ralf Jung
adbc67664b
remove StructuralEq trait
2024-01-24 07:56:23 +01:00
Urgau
9d9459a6f9
Adjust tests for newly added ambiguous_wide_pointer_comparisons lint
2023-12-06 09:03:48 +01:00
bjorn3
5d85a24442
Merge commit '81dc066758ec150b43822d4a0c84aae20fe10f40' into sync_cg_clif-2023-10-09
2023-10-09 08:52:46 +00:00
bjorn3
59cabd7032
Merge commit '8f9ac9c22d6594cf059d8e6c71d414cc5ccd7975' into sync_cg_clif-2023-08-09
2023-08-09 18:20:12 +00:00
bjorn3
e8168ce8a3
Merge commit '1eded3619d0e55d57521a259bf27a03906fdfad0' into sync_cg_clif-2023-07-22
2023-07-22 13:32:34 +00:00
DrMeepster
f429b3e67f
remove box_free and replace with drop impl
2023-06-16 13:41:06 -07:00
bjorn3
81ea0b29ea
Merge commit '8830dccd1d4c74f1f69b0d3bd982a3f1fcde5807' into sync_cg_clif-2023-06-15
2023-06-15 17:56:01 +00:00
bjorn3
8bf550e616
Merge commit 'ef07e8e60f994ec014d049a95591426fb92ebb79' into sync_cg_clif-2023-04-29
2023-04-29 12:00:43 +00:00
bjorn3
7b3bd56ed9
Merge commit 'dec0daa8f6d0a0e1c702f169abb6bf3eee198c67' into sync_cg_clif-2023-03-15
2023-03-15 14:41:48 +00:00
bjorn3
98a276b589
Merge commit '2bb3996244cf1b89878da9e39841e9f6bf061602' into sync_cg_clif-2022-12-14
2022-12-14 19:30:46 +01:00
bjorn3
9950bd1dc5
Merge commit '266e96785ab71834b917bf474f130a6d8fdecd4b' into sync_cg_clif-2022-10-23
2022-10-23 16:22:55 +02:00
bjorn3
cfef0a4f8d
Merge commit 'e9d1a0a7b0b28dd422f1a790ccde532acafbf193' into sync_cg_clif-2022-08-24
2022-08-24 18:40:58 +02:00
bjorn3
640c3f730a
Merge commit 'c19edfd71a1d0ddef86c2c67fdb40718d40a72b4' into sync_cg_clif-2022-07-25
2022-07-25 16:07:57 +02:00
Nikolai Vazquez
7a8b96f89d
Make std::mem::needs_drop
accept ?Sized
2022-06-03 03:28:19 -04:00
bjorn3
32202f20cd
Merge commit 'f2cdd4a78d89c009342197cf5844a21f8aa813df' into sync_cg_clif-2022-04-22
2022-04-22 21:11:38 +02:00
bjorn3
d1904e5855
Merge commit '370c397ec9169809e5ad270079712e0043514240' into sync_cg_clif-2022-03-20
2022-03-20 16:55:21 +01:00
bjorn3
07968a001d
Merge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29
2021-03-29 10:45:09 +02:00
bjorn3
27886cd6b6
Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05
2021-03-05 19:12:59 +01:00
bjorn3
a75f9bc3be
Merge commit 'd556c56f792756dd7cfec742b9f2e07612dc10f4' into sync_cg_clif-2021-02-01
2021-02-01 10:11:46 +01:00
Camelid
57739b54cb
Rename optin_builtin_traits
to auto_traits
...
They were originally called "opt-in, built-in traits" (OIBITs), but
people realized that the name was too confusing and a mouthful, and so
they were renamed to just "auto traits". The feature flag's name wasn't
updated, though, so that's what this PR does.
There are some other spots in the compiler that still refer to OIBITs,
but I don't think changing those now is worth it since they are internal
and not particularly relevant to this PR.
Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name >.
2020-11-23 14:14:06 -08:00
bjorn3
285c7c66dc
Merge commit '03f01bbe901d60b71cf2c5ec766aef5e532ab79d' into update_cg_clif-2020-11-01
2020-11-03 11:00:04 +01:00
bjorn3
bb59d616aa
Use don't unroll loop in Rvalue::Repeat
...
Fixes #1081
2020-09-14 11:32:27 +02:00
bjorn3
037d411bf4
Implement global_asm! using an external assembler
...
Fixes #1061
2020-07-09 17:02:09 +02:00
bjorn3
f3a91164a2
Rustup to rustc 1.46.0-nightly ( f781babf8
2020-07-01)
2020-07-02 19:48:03 +02:00
bjorn3
48d4bc2fb6
Rustup to rustc 1.46.0-nightly ( 7750c3d46
2020-06-26)
2020-06-27 11:29:39 +02:00
bjorn3
d4187e6aae
Make mini_core_hello_world work on Windows once TLS is supported
2020-06-16 11:50:58 +02:00
bjorn3
648b634e21
Rustup to rustc 1.45.0-nightly ( 56daaf669
2020-06-03)
2020-06-04 19:57:12 +02:00
bjorn3
12c92a32f6
Rustup to rustc 1.45.0-nightly ( fa51f810e
2020-04-29)
2020-04-30 11:28:48 +02:00
bjorn3
7031c96fb3
Call panic lang item on failed TerminatorKind::Assert
...
Fixes #164
2020-04-25 19:07:53 +02:00
bjorn3
51d07790df
Use the correct return type for puts
2020-04-17 19:33:57 +02:00
bjorn3
3c9ebdb194
Rustup to rustc 1.44.0-nightly ( 1edd389cc
2020-03-23)
2020-03-24 13:09:44 +01:00
bjorn3
d74c151b69
Fix it
2020-03-18 20:33:29 +01:00
bjorn3
d464169beb
Rustup to rustc 1.44.0-nightly ( 7ceebd98c
2020-03-17)
2020-03-18 20:12:19 +01:00
bjorn3
c8de552c01
Tls support
2020-02-26 14:41:05 +01:00
bjorn3
c6086a8fd7
Rustup to rustc 1.41.0-nightly ( 6d77e45f0
2019-12-04)
2019-12-05 21:00:57 +01:00
bjorn3
8536514308
Rustup to rustc 1.40.0-nightly ( 10a52c25c
2019-10-24)
2019-10-25 21:41:24 +02:00
bjorn3
ce860e5fde
Fix cross crate static duplicate codegen
2019-08-19 16:26:20 +02:00
bjorn3
f61b36a396
Don't run a alignment assertion on macOS
2019-08-18 15:30:06 +02:00
bjorn3
f93cd924ec
Implement float -> small int cast
...
Also workaround small signed int eq/ne binop clif bug
2019-08-12 17:25:16 +02:00
bjorn3
f5b0a68fbf
Fix some warnings
2019-08-12 16:00:10 +02:00
bjorn3
3000a3f63d
[WIP] Implement dylib loading for the JIT
2019-08-10 16:50:23 +02:00
bjorn3
c4af588f72
Correctly align all allocs
...
Fixes #348
2019-08-01 11:49:03 +02:00
bjorn3
dbf94c5697
Rustup to rustc 1.38.0-nightly ( c798dffac
2019-07-27)
2019-07-28 09:24:16 +02:00
bjorn3
ffa34ae328
Remove unnecessary changes
2019-07-26 11:45:01 +02:00
bjorn3
7f5c2dab9d
Remove some unnecessary changes
2019-07-26 11:30:39 +02:00
bjorn3
63b82238bb
Implement 128bit checked add and sub
2019-07-26 11:30:39 +02:00
bjorn3
45de0336a5
Fix some more stuff
2019-07-26 11:28:28 +02:00