---
# System prepended metadata

title: Unsafe panel discussion

---

# Unsafe panel discussion

## Penalists

### @ecton

BonsaiDB author, high performance required, typically associated with a lot of unsafe

### @Rukai

Works a lot on game engines, also associated with high-performance code which often requires unsafe

### 9names

Embedded developer

## Ice breaker

As a rough guess, how many lines of unsafe code have you written?

## Topics

- What actually is "Undefined Behaviour"?
	- bool example of value 2

- Summarise what unsafe does and does not do?
	- Does not remove all guard rails! I.e. it doesn't turn Rust into C
	- What can you not do in `unsafe`?

- Question from niko:
    - My expectation is that we are going to start finalizing the rules for what unsafe code can and cannot do in Rust this year. What kind of tooling do you think would be most effective in helping people learn to write correct unsafe code? How can we encourage people to use it?

- Why do we need to resort to `unsafe` to get maximum performance sometimes?

- What does soundness mean?

- What is the asymmetric trust relationship of safe and unsafe code?

- Should we have a different name for unsafe?

## Notes

The whole point of `unsafe` is allow for safe layers of abstraction.