Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(backends/fstar): no
__marker_trait
if parent bounds
Parent bounds are translated as record fields in F*. Also, F* classes are records, and F* records cannot be empty. Thus, we insert a dummy field `__marker_trait` on empty traits (marker traits). On trait definitions, we were inserting this `__marker_trait` fields only when a trait had no parent bounds and no associated item (method, assoc. type, assoc fun.). On instance definitons, we were inserting `__marker_trait` when the trait was empty, disregarding parent bounds. This difference of treatments lead to TC issues in F*. This PR fixes this discrepancy.
- Loading branch information