113 lines
1.7 KiB
Markdown
113 lines
1.7 KiB
Markdown
# Exemples / DO-DON'T — Chapitre 34 — Packages, identité et collisions de namespaces
|
|
|
|
> Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.
|
|
|
|
## Exemples actuellement présents dans le chapitre
|
|
|
|
### Exemple 1
|
|
|
|
```text
|
|
vendor/package
|
|
```
|
|
|
|
### Exemple 2
|
|
|
|
```text
|
|
vendor/package@version
|
|
```
|
|
|
|
### Exemple 3
|
|
|
|
```text
|
|
vendor/package@requirement
|
|
```
|
|
|
|
### Exemple 4
|
|
|
|
```text
|
|
saselang/core@1.4.0
|
|
saselang/compiler-core@^0.8
|
|
acme/http-client@>=2.5,<3.0
|
|
sdl/sdl@3.1.*
|
|
```
|
|
|
|
### Exemple 5
|
|
|
|
```regex
|
|
[a-z][a-z0-9]*(?:-[a-z0-9]+)*
|
|
```
|
|
|
|
### Exemple 6
|
|
|
|
```text
|
|
namespace parser.ast;
|
|
public class Node
|
|
```
|
|
|
|
### Exemple 7
|
|
|
|
```text
|
|
instance de package résolue
|
|
+ namespace
|
|
+ symbole
|
|
```
|
|
|
|
### Exemple 8
|
|
|
|
```text
|
|
acme/parser@2.4.1 :: parser.ast.Node
|
|
other/parser@5.0.0 :: parser.ast.Node
|
|
```
|
|
|
|
### Exemple 9
|
|
|
|
```text
|
|
from "vendor/package@requirement"
|
|
```
|
|
|
|
### Exemple 10
|
|
|
|
```text
|
|
import func some.namespace::function from "sdl/sdl@2.1.*" as sdlfun1;
|
|
import type some.namespace.Type from "acme/parser@^3.0" as ParserType;
|
|
```
|
|
|
|
### Exemple 11
|
|
|
|
```text
|
|
sdl/sdl@2.1.*
|
|
sdl/sdl@^3.0
|
|
```
|
|
|
|
### Exemple 12
|
|
|
|
```text
|
|
import func ... from "sdl/sdl@2.1.*" as sdlfun1;
|
|
import func ... from "sdl/sdl@^3.0" as sdlfun2;
|
|
```
|
|
|
|
### Exemple 13
|
|
|
|
```text
|
|
sdl/sdl@2.1.*
|
|
sdl/sdl@^3.0
|
|
```
|
|
|
|
### Exemple 14
|
|
|
|
```text
|
|
sdl/sdl@>=1.0
|
|
sdl/sdl@^4.5
|
|
```
|
|
|
|
### Exemple 15
|
|
|
|
```text
|
|
sdl/sdl@^3.0
|
|
sdl/sdl@3.1.*
|
|
```
|
|
|
|
## DO / DON'T / WHY / compiler error / edge cases
|
|
|
|
La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration `0.2.12` conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.
|