or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
const-eval skill tree meeting notes
skill tree
https://static.turbo.fish/const-eval-skill-tree/skill-tree.html
A dependency (directed) graph of features you need to implement a given feature
nodes with high in-degree are things that have high-value, in terms of many other things depending on them
goal for today's meeting: determine set of features that can be moved from lang-team more directly to the const-eval group, so that they can make decisions directly without blocking on lang team.
ralf, ecstatic-morse and oli are aligned with respect to big picture
main questions:
Felix: does const-eval group need a lang team member present as a rep of lang team continuously, to help decide which things need to be bubbled up to lang team? Or can const-eval group decide on its own which things justify being bubbled up?
Oli: A mix of both. Example: we had a big RFC which went unaddressed for 9 months, and in the end was sort of abandoned as the const-eval group took smaller steps and prototyped MVPs.
josh: Personally, easier to look at and make decisions about smaller stuff rather than trying to tackle a big RFC with everything.
generally, happy to let prototyping proceed on nightly, which turns questions into T-compiler questions rather than T-lang questions
(much discussion of skill tree document:)
what to focus on:
josh: an inside-rust blog post explaining the skill tree would be good
(discussion of graphviz)
what to prioritize?
assert!
, even one without message formating, so that people stop using hacks like indexing slices of length0
with1
to get errors at compile-time.what are open questions about unsafe const fn?
const fn
usize
itself erroneous? Or is it inspecting the resultingusize
's value?unsize
) by two causes a const-eval errorconst fn
. Want to check its body for all reasonable inputs, but we cannot check this "same block" condition reasonably at time we are lookikng at definition of theconst fn
.const fn
that run at const-eval time?const
item in#[cfg(test)]
const {}
blocks, we could use those inside a#[test]
const fn
invocation?unsafe
blocks? Or have a new kind of block (with a different keyword) to annotate such cases?ralf's solutions
unconst
problemunsafe
even though they are not UB, as a kind of lint.unconst
, with blocks containing such behaviors.const
– effectively, consts that cause UB are uninitialized memory. This can cause UB when the program is run.Currently, it sounds like (2.) above is most realistic w.r.t. cost-benefit and it is also what is currently implemented.